我有一个要求,我使用一个数组来获取值,并将它们与checkbox链接起来,但我需要对数组的输出进行建模,以便在选中first output或checkbox的状态时启用所有其他输出。但它不起作用。下面是代码的链接,希望你能更好地理解代码。
http://jsfiddle.net/7mKtF/124/
<div ng-app="myApp">
<div ng-controller="MyCtrl">
<span class="control-label1" ng-repeat="rows in myData" ng-show="$first"><input type="checkbox" ng-model="disablelist">{{rows.name}}</span>
<span class="control-label" ng-repeat="row in myData" ng-show="!$first"><input type="checkbox" ng-disabled="!disablelist" ng-checked="disablelist && 0">{{row.name}}</span>
</div>
</div>而控制器是
var app = angular.module('myApp', []);
app.controller('MyCtrl', function($scope) {
$scope.myData = [{name: "Sitemap"},
{name: "View"},
{name: "Edit"},
{name: "Delete"},
{name: "Rename"}];
});发布于 2015-04-27 15:54:36
尝试使用模型作为对象的属性。
例如,在控制器中声明它而不是disablelist:
$scope.myObj ={}; $scope.myObj.disablelist=false;
并在您的界面中通过将disablelist替换为: myObj.disablelist来更新它。
在这里阅读更多关于这个所谓的反模式的信息(它是第一个-在你的ng-model中没有一个点):
http://nathanleclaire.com/blog/2014/04/19/5-angularjs-antipatterns-and-pitfalls/
更详细地说,JavaScript原型继承:
https://github.com/angular/angular.js/wiki/Understanding-Scopes编辑:
我已经升级了你的jsfiddle,首先为了工作,然后添加了一个小的更正,然后如我所描述的。
https://stackoverflow.com/questions/29889867
复制相似问题