这个问题对我来说有点棘手,所以我会尽我所能。我正在尝试使用动态ng模型正确地实现Angular复选框及其ng-true-value。
<div ng-app="myApp">
<div ng-controller="MyCtrl">
<div ng-repeat="asset in asset">
<h5>{{ asset.title }} categories are...{{ asset.category[0] + " and " + asset.category[1] }}</h5>
<div class="form-group">
<label>Business</label>
<div class="checkbox" ng-repeat="category in categoryFactory.business">
<input type="checkbox" id="{{category}}" ng-true-value="{{'category'}}" ng-model="asset.category[$index]">
<label for="{{category}}">{{category}}</label>
</div>
</div>
<div class="form-group">
<label>Personal</label>
<div class="checkbox" ng-repeat="category in categoryFactory.personal">
<input type="checkbox" id="{{category}}" ng-true-value="{{'category'}}" ng-model="asset.category[$index]">
<label for="{{category}}">{{category}}</label>
</div>
</div>
</div>
</div>
我的最终目标是当我加载资源时(在下面找到...),它会显示在My end goal的图片中,并选中正确的复选框。业务和个人类别来自工厂,每个表单组复选框都来自工厂中的业务/个人的ng-repeat列表。
$scope.asset = [{
title: "Sales Agreement",
category: ["finance-admin", "running-a-business"]
}];
我的问题是必须在复选框内正确实现ng-model。由于每个资产可以包含1个或更多类别,因此它需要是动态的。我尝试使用$ index使我的ng-model动态...
ng-model="asset.category[$index]"
但这似乎不像我希望的那样有效。我可能错过了一些非常容易的东西,一些帮助将不胜感激。
谢谢! 顺便说一下这里是 JSFIDDLE
答案 0 :(得分:1)
目前根据你的$ index逻辑,两个数组categoryFactory.business
和asset.category
必须大小相同,所以这里是更新的jsfiddle
但主要部分是这个
首先,对于你的情况,ng-true-value应该是一个表达式
ng-true-value="{{category}}"
其次,您的asset.category
数组索引应与categoryFactory.business
数组
$scope.asset = [{
title: "Sales Agreement",
category: ["", "running-a-business","", "","finance-admin"]
}];
可以有一个更好的选择来管理它而不依赖于$ index但这应该适合您的情况
答案 1 :(得分:0)
我使用了ng-checked,你可以将函数作为属性值,ng-repeat将评估每个循环中的函数。
Failed to execute goal on project solr: Could not resolve dependencies
for project org.dspace.modules:solr:war:5.1: Could not transfer
artifacr orgapache.solr:war:4.10.2 from/to
central<https://repo.maven.apache.org/maven2>: GET request of:
org/apache/solr/solr/4.10.2/solr-4.10.2.war from central failed:SSL
peer shut down incorrectly-> [Help 1]
在isCategory()中,我们检查asset.category数组中类别的索引,如果它发现它将为真。