我在做一个使用Meteor和AngularJs的项目。
我使用帮助器检索一些数据,然后使用ng-重复显示它们。
我使用核对表-模型(http://vitalets.github.io/checklist-model/)来获得复选框选项的列表。
<li ng-repeat="t in types">
<div ng-class="nametagClass(t)">{{t.name}}</div>
<input type="checkbox" data-checklist-value="t"
data-checklist-model="chosenTypes" class="sub-checkbox" />
</li>
下面是ng类函数:
$scope.nametagClass=function(type){
if($scope.chosenTypes.indexOf(type)>-1){
return "nametag active-nametag";
}
return "nametag";
}
问题是,当ng类调用函数时,还没有加载来自chosenTypes的数据,因此选中的元素没有得到“活动-名称标记”类。(但是,当数据加载和检查一个元素时,类会发生很好的变化)
如何在加载数据后延迟ng类函数调用?
发布于 2016-03-31 04:25:26
只需在外部元素中添加一个ng-if
,如下所示
<li ng-if="types" ng-repeat="t in types">
<div ng-class="nametagClass(t)">{{t.name}}</div>
<input type="checkbox" data-checklist-value="t" data-checklist-model="chosenTypes" class="sub-checkbox" />
</li>
发布于 2016-03-31 06:31:03
ngIf
将是一种选择。我认为您也可以使用ngCloak
:
ngCloak指令用于防止浏览器在加载应用程序时以其原始(未编译)形式简要显示角html模板。
https://stackoverflow.com/questions/36331756
复制相似问题