我有一个简单的ng-repeat列表,其中我将当前列表项值分配给控制器上的另一个属性,如下所示:
<li ng-repeat="num in list">
<input type="text" ng-init="value = num" ng-model="value" />
<button type="button" class="btn btn-primary" ng-click="save()">Save</button>
</li>
Run Code Online (Sandbox Code Playgroud)
但是当我单击"保存"按钮时,我会获得为$ scope.value设置的默认值.我希望显示特定输入文本的值.
这是控制器:
angular.module('myApp', [])
.controller('MyController', function($scope){
$scope.value = false;
$scope.list = [0, 1, 2, 3, 4];
$scope.save = function() {
alert($scope.value);
}
});
Run Code Online (Sandbox Code Playgroud)
如何在保存函数调用中访问控制器中输入项的更新值.
这是相同的plunker:plnkr
更新:我希望将值提取到控制器而不将其作为参数传递.
javascript 2-way-object-databinding angularjs ng-repeat angular-ngmodel
我在我的应用程序中有这个:
<li ng-repeat="name in tabs track by $index" ng-class="{selected: tab==$index}" ng-click="tab = $index">{{name}}</li>
Run Code Online (Sandbox Code Playgroud)
当它点击该项目时,选中的类被启用(我点击的每个单词都有这个类,当我点击其他li时它没有被删除)并且tab没有更新,它在我使用时工作:
<li ng-repeat="name in tabs track by $index" ng-class="{selected: tab==$index}" ng-click="switchTab($index)">{{name}}</li>
scope.switchTab = function(index) {
scope.tab = index;
};
Run Code Online (Sandbox Code Playgroud)
为什么会这样,为什么ng-click="tab = $index"不工作?