2016-01-13 2 views
0

У меня есть два элемента select, которые привязаны к модели в угловом. Первый должен показать список процессов, второй - список переменных, принадлежащих процессу. Моя DataModel выглядит следующим образом:восстановление цепочки с использованием угловых символов

"processes": [ 
    { 
     "name": "proces1", 
     "variables": [ 
      "var1", 
      "var2" 
     ] 
    }, 
    { 
     "name": "proces2", 
     "variables": [ 
      "var3", 
      "var4" 
     ] 
    } 
] 

В результате мой выбор должен закончиться в «слайдер» объекта в массиве «ползунки» на сферу:

$scope.sliders = 
[ 
    { 
    process : "process1", 
    tag  : "var1", 
    } 
] 

Я реализован выбирает, как показано ниже, вдохновленный this jsfiddle.

<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> 

Подход работает, однако, если моя модель уже заполнена, выбирается только переменная. Выбор процесса - нет. Это вызвано тем, что processSelect использует список словарей процесса вместо строк (которые хранятся в модели).

Что я могу сделать для этого? Как обычно это выполняется в угловом?

ответ

0

Я исправил это, слегка изменив свою модель данных:

"processes": { 
    "process1": [ 
     "var1", 
     "var2" 
    ], 
    "process2": [ 
     "var3", 
     "var4" 
    ] 
} 

затем я изменил нг-варианты:

<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> 

в основном следующие угловые документы на ng-options.

Смежные вопросы