我有一个绘图项目。当我添加一个新图表时,变量" data"正在更新。
一开始,"数据"变量为空。
var data = {
"nodes": [],
"edges": []
};
然后,它通过添加新的边或节点来改变。
var data = {
"nodes": [{id:5,label:"a"}],
"edges": []
};
我想制作一个"即时更新select->选项"。如果添加新边缘或 节点应该更新选项列表。
创建html页面时,列表为空,但是在更新变量后,list仍为空。我检查过$scope.$apply
,但是找不到我的问题的解决方案。
我期待着你的帮助。非常感谢你。
<select multiple="" class="form-control" id="node-equivalent">
<option ng-repeat="n in data.nodes">{{n.label}}</option>
</select>
答案 0 :(得分:0)
data
不是$scope
变量。因此双向绑定不起作用。请参阅Angular文档以获得更好的理解。
应该是:
$scope.data = {
"nodes": [{id:5,label:"a"}],
"edges": []
};
答案 1 :(得分:0)
您可以通过将范围注入控制器来调用$scope.$apply()
,以便再次运行整个摘要周期并更新变量。
`this` will also work in your case.
检查出来
var vm = this;
vm.data = {
"nodes": [],
"edges": []
};
$timeout(function () {
vm.data = {
"nodes": [{id:5,label:"a"}],
"edges": []
}
}, 2000);
})
我已在每timeout
2secs
fn进行刷新