【发布时间】:2017-12-31 03:31:33
【问题描述】:
我是 AngularJS 的新手,所以请多多包涵。
以下是我尝试在select 元素中绑定的 JSON 字符串:
[
{"Name":"Value 1","ID":1},
{"Name":"Value 2","ID":2},
{"Name":"Value 3","ID":3},
{"Name":"Value 4","ID":4}
]
以下是相同的JS对象:
function NameValue(nameValue){
var self = this;
self.ID = nameValue.ID;
self.Name= nameValue.Name;
}
我正在解析上面的 JSON 字符串,循环遍历对象并使用上面的 JS 对象将项目推送到数组中,例如:
angular.forEach(angular.fromJson(jsonString), function (value, key) {
$scope.Values.push(new NameValue(value));
});
以下是我的 select 与 agularjs 绑定:
<select ng-model="SelectedName" ng-options="x.Name for x in Values">/select>
当我在select 元素中选择一个值时,整个NameValue 对象被设置到SelectedName 属性中,这就是我想要做的。
现在,当我尝试动态设置 SelectedName 属性时,没有选择该值,并且在 select 元素中添加了一个空的 option 元素。我使用{{SelectedName}} 来检查动态设置时的值以及当我在select 元素中手动选择相同的值并且两者都是{"ID":2,"Name":"DAO"} 时完全相同。我在这里做错了什么?
【问题讨论】:
-
你是否在
ng-view指令中初始化了SelectedName?
标签: javascript angularjs json