gpt4 book ai didi

javascript - 在 ng-repeat 中访问模型

转载 作者:太空宇宙 更新时间:2023-11-04 15:30:35 24 4
gpt4 key购买 nike

我在进程上有一个ng-repeat循环。我想要做的是通过带有选择框的表单向当前 process 添加一个新的 block。但是,我的问题是我无法从 Controller 访问循环内的模型。我猜这是因为在 ng-repeat 循环中创建了一个新范围。

我仍然找不到从 Controller 访问模型的方法。以下是 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>

angularjs Controller

function ProcessCtrl($scope, $filter) {
//...

$scope.addBlock = function(index) {
alert($scope.blockType); // undefined
$scope.processes[index].blocks.push({type: $scope.blockType});
};
}

最佳答案

是的,问题是父作用域无法访问由 ng-repeat 创建的子作用域。

修改 addBlock 以同时传递 blockType:

ng-submit="addBlock($index, blockType)"

关于javascript - 在 ng-repeat 中访问模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14491433/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com