Javascript 将ng模型的一部分绑定到angularjs中的范围
在我的应用程序中,我有一个颜色数组,我想创建一个带有复选框的颜色列表Javascript 将ng模型的一部分绑定到angularjs中的范围,javascript,angularjs,angularjs-scope,angularjs-ng-repeat,Javascript,Angularjs,Angularjs Scope,Angularjs Ng Repeat,在我的应用程序中,我有一个颜色数组,我想创建一个带有复选框的颜色列表 var app = angular.module('app',[]); app.controller('mainCtrl',function($scope){ $scope.colors = ['red','blue','green','yellow']; }); 因此,我创建了一个ng repeat来创建一个列表: <body ng-controller="mainCtrl"> <ul>
var app = angular.module('app',[]);
app.controller('mainCtrl',function($scope){
$scope.colors = ['red','blue','green','yellow'];
});
因此,我创建了一个ng repeat
来创建一个列表:
<body ng-controller="mainCtrl">
<ul>
<li ng-repeat="c in colors">
<input type="checkbox" ng ng-true-value="{{c}}" ng-false-value=""/> {{c}}
</li>
</ul>
</body>
但是这会使我的应用程序崩溃。因此,如何修复ng model
和ng true value
的问题,我也创建了这个。
谢谢这里出了点问题。一般来说,在接受
表达式的Angular属性内部(检查文档),不应该使用{{x}}
,而应该只使用x
本身。因此,您的ng模型不应该是f.col.{c}
,而是f.col.blue
和f.col.red
等。现在,在javascript中,执行a.b
和a['b']
是相同的,因此在这种情况下,由于c
是字符串,正确的模型是f.col[c]
。对于真值
,也应该是c
最后,要使示例正常工作,您需要实际创建维护模型的对象(在本例中为$scope.f.col
。可以在此处看到工作示例:这里出现了一些问题。通常,在使用表达式的角度属性内部(检查文档),您不应该使用{x}}
,而只是x
本身。因此,您的ng模型不应该是f.col.{c}
,而是f.col.blue
和f.col.red
等。现在,在javascript中,执行a.b
和a['b']
是相同的,因此在本例中,由于c
是一个字符串,因此正确的模型是f.col[c]
。对于真值
,也应该是c
最后,要使示例正常工作,您需要实际创建维护模型的对象(在本例中为$scope.f.col
。可以在此处看到工作示例:这里出现了一些问题。通常,在使用表达式的角度属性内部(检查文档),您不应该使用{x}}
,而只是x
本身。因此,您的ng模型不应该是f.col.{c}
,而是f.col.blue
和f.col.red
等。现在,在javascript中,执行a.b
和a['b']
是相同的,因此在本例中,由于c
是一个字符串,因此正确的模型是f.col[c]
。对于真值
,也应该是c
最后,要使示例正常工作,您需要实际创建维护模型的对象(在本例中为$scope.f.col
。可以在此处看到工作示例:这里出现了一些问题。通常,在使用表达式的角度属性内部(检查文档),您不应该使用{x}}
,而只是x
本身。因此,您的ng模型不应该是f.col.{c}
,而是f.col.blue
和f.col.red
等。现在,在javascript中,执行a.b
和a['b']
是相同的,因此在本例中,由于c
是一个字符串,因此正确的模型是f.col[c]
。对于真值
,也应该是c
最后,要使示例正常工作,您需要实际创建维护模型的对象(在本例中为$scope.f.col
。可以在此处看到工作示例:这里是颜色选择的工作演示:
-
{{c}}
选择的颜色:{{f.col}这里是选择颜色的工作演示:
-
{{c}}
选择的颜色:{{f.col}这里是选择颜色的工作演示:
-
{{c}}
选择的颜色:{{f.col}这里是选择颜色的工作演示:
-
{{c}}
所选颜色:{{f.col}尝试改为ng model=f.col[c]
。谢谢,那么ng truevalue
Ok如何,所以我让它工作了。首先,您将模型更改为f.col[c]
,并将真值设置为c
。然后您还需要在作用域上创建f
和f.col
对象。请改为尝试ng model=f.col[c]
。谢谢,那么ng真值如何
好,我让它工作了。首先,您将模型更改为f.col[c]
,并将真值设置为c
。然后您还需要在作用域上创建f
和f.col
对象。请改为尝试ng model=f.col[c]
。谢谢,那么ng真值如何
好,我让它工作了。首先,您将模型更改为f.col[c]
,并将真值设置为c
。然后您还需要在作用域上创建f
和f.col
对象。请改为尝试ng model=f.col[c]
。谢谢,那么ng真值如何
好,我让它工作了。首先,您将模型更改为f.col[c]
,以及c
的真实值。然后您还需要在范围上实际创建f
和f.col
对象。
<li ng-repeat="c in colors">
<input type="checkbox" ng-model="f.col.{{c}}" ng-true-value="{{c}}" ng-false-value=""/> {{c}}
</li>
<ul>
<li ng-repeat="c in colors">
<input type="checkbox" ng-model="f.col[c]" ng-true-value="true" ng-false-value="false"/> {{c}}
</li>