Javascript 使用angularjs恢复链接选择
我有两个选择元素,它们以角度绑定到模型。第一个应显示流程列表,第二个应显示属于流程的变量列表。我的数据模型如下所示:Javascript 使用angularjs恢复链接选择,javascript,angularjs,Javascript,Angularjs,我有两个选择元素,它们以角度绑定到模型。第一个应显示流程列表,第二个应显示属于流程的变量列表。我的数据模型如下所示: "processes": [ { "name": "proces1", "variables": [ "var1", "var2" ] }, { "name": "proces2", "variables": [
"processes": [
{
"name": "proces1",
"variables": [
"var1",
"var2"
]
},
{
"name": "proces2",
"variables": [
"var3",
"var4"
]
}
]
我的选择结果需要在范围的“滑块”数组中的“滑块”对象中结束:
$scope.sliders =
[
{
process : "process1",
tag : "var1",
}
]
受JSFIDLE的启发,我实现了如下选择
<tr ng-repeat="slider in sliders track by $index">
<td><select name="processSelect" ng-model="slider.process" ng-options="process.name for process in slider.processes"></select></td>
<td><select name="variableSelect" ng-model="slider.tag" ng-options="v for v in slider.process.variables"></select></td>
</tr>
但是,如果我的模型已填充,则该方法有效,仅选择variableSelect。选择过程不可用。这是因为processSelect使用进程字典列表而不是字符串(存储在模型中)
我能做些什么来实现这一点?人们通常如何在角度上实现这一点?我通过将数据模型稍微更改为:
"processes": {
"process1": [
"var1",
"var2"
],
"process2": [
"var3",
"var4"
]
}
然后我将ng选项更改为:
<tr ng-repeat="slider in sliders track by $index">
<td><select name="processSelect" ng-model="slider.process" ng-options="key as key for (key, value) in processes"></select></td>
<td><select name="variableSelect" ng-model="slider.tag" ng-options="value for (key, value) in processes[slider.process]"></select></td>
</tr>
基本上是按照有角度的文档进行的