嗨,我正在研究在Angular 5上开发的Web应用程序。我正在将数据发送回API。 API模型如下。
public partial class ResourceDTO
{
[JsonProperty("id")]
public System.Guid Id { get; set; }
[JsonProperty("state")]
public State State { get; set; }
}
public enum State
{
NotSelected = 0,
Allowed = 1,
Denied = 2
}
我想将数据发送到API。下面是我在类型脚本中定义的枚举。
export enum State {
NotSelected,
Allowed,
Denied
}
在下面的功能我正在巩固我的数据。
data.forEach(element => {
const object = { modelType: '', userroleid: '', name: [], hasChildren: false, id: '', state: State };
if (element.id != undefined) {
object.id = element.id;
}
if (element.checked == false) {
object.state.NotSelected;
}
if (element.checked == true) {
object.state.Allowed;
}
if (element.allow == false) {
object.state.Denied;
}
saveData.push(object);
});
以下是合并数据后的saveData。
有人可以告诉我,我正确地做了什么,或者我错过了什么?以上产量预计一个?任何帮助,将不胜感激。谢谢。
您无法设置打字稿枚举值,因为它是只读的。您可以通过创建对象文字来尝试以下备选方案,并在发布到服务器之前根据选择设置值
https://basarat.gitbooks.io/typescript/docs/enums.html
const object = { modelType: '', userroleid: '', name: [], hasChildren: false, id: '', state: {}};
var newState ={
"Allowed": element.checked,
"NotSelected":!element.checked,
"Denied":element.allow == false
}
object.state=newState;
if (element.id != undefined) {
object.id = element.id;
}