ng-repeat
ループがありますprocesses
。私がやろうとしているのは、選択ボックスのあるフォームを介してblock
現在に新しいものを追加することです。process
しかし、私の問題は、コントローラーからループ内のモデルにアクセスできないことです。ng-repeat
これは、新しいスコープがループで作成されるためだと思います。
それでも、コントローラーからモデルにアクセスする方法が見つかりませんでした。問題をよりよく理解するためのhtmlとjavascriptのコード部分を次に示します。
<div class="container" ng-controller="ProcessCtrl">
<div class="process" ng-repeat="process in processes">
<form class="form-inline" ng-submit="addBlock($index)">
<select ng-model="blockType">
<option value="1">type1</option>
<option value="2">type2</option>
<option value="3">type3</option>
</select>
<button type="submit">add</button>
</form>
</div>
</div>
anglejsコントローラー
function ProcessCtrl($scope, $filter) {
//...
$scope.addBlock = function(index) {
alert($scope.blockType); // undefined
$scope.processes[index].blocks.push({type: $scope.blockType});
};
}