Angularjs ng类不使用ng repeat
我有一种情况,我必须根据条件添加类,而ng类正根据它工作,即使ng类中的条件是真的Angularjs ng类不使用ng repeat,angularjs,Angularjs,我有一种情况,我必须根据条件添加类,而ng类正根据它工作,即使ng类中的条件是真的 <ul id="" class="clowd_wall" dnd-list="vm.cardData[columns.id].data" dnd-drop="vm.callback(item,{targetList: vm.cardData[columns.id].data, targetIndex: index, event: event,item:item,type:'fold
<ul id="" class="clowd_wall" dnd-list="vm.cardData[columns.id].data"
dnd-drop="vm.callback(item,{targetList: vm.cardData[columns.id].data, targetIndex: index, event: event,item:item,type:'folder',eventType:'sort','root':'folder',current_parent:'folder'})" ng-model="vm.cardData[columns.id].data">
<div class="emptyCol" ng-if="vm.cardData[columns.id].data.length==0">Empty</div>
<li class="dndPlaceholder"></li>
<li class="cont____item" ng-repeat="card in vm.cardData[columns.id].data | orderBy:vm.sort" dnd-draggable="card"
dnd-effect-allowed="move"
dnd-allowed-types="card.allowType"
dnd-moved="vm.cardData[columns.id].data.splice($index, 1)"
dnd-selected="vm.tree.selected = card" ng-class="{emptyCard:card.data.length==0,zoomin:vm.zoomin=='zoomin',emptyCard:!card.data}">
<div class="item" style="height:79%">
<ng-include ng-init = "root = columns.id" src="'app/partials/card.html'"></ng-include>
</div>
</li>
</ul>
空的
vm.cardData[columns.id]中的卡片数据| orderBy:vm.sort“dnd draggable=“card”
允许dnd效果=“移动”
dnd允许的类型=“card.allowType”
dnd moved=“vm.cardData[columns.id].data.splice($index,1)”
dnd selected=“vm.tree.selected=card”ng class=“{emptyCard:card.data.length==0,zoomin:vm.zoomin='zoomin',emptyCard:!card.data}”>
似乎您想使用
vm.cardData[columns.id].data.length
而不是card.data.length
您的问题不清楚,因为不知道card.data将包含什么,并且每次迭代都会出现“.data”
如果是数组,则“card.data.length”将起作用,如果“card”中没有“data”键,则“.length”将出错,即如果card.data本身未定义,则它将没有“length”属性
尝试一个接一个地在ng类中添加条件,然后您将能够找出导致问题的条件。做了一些小更改
ng-class="{emptyCard: card.data.length==0 || !card.data,zoomin: vm.zoomin=='zoomin'}"
如果您有多种表情,请尝试老式,如果它看起来最好:
控制器:
$scope.getcardClass = function (objCard, strZoomin) {
if (!card.data) {
return 'emptyCard';
} else if (strZoomin =='zoomin') {
return 'zoomin';
} else if (card.data.length == 0) {
return 'emptyCard';
}
};
ng-class="vm.getcardClass(card, vm.zoomin)"
HTML:
$scope.getcardClass = function (objCard, strZoomin) {
if (!card.data) {
return 'emptyCard';
} else if (strZoomin =='zoomin') {
return 'zoomin';
} else if (card.data.length == 0) {
return 'emptyCard';
}
};
ng-class="vm.getcardClass(card, vm.zoomin)"
注意:用控制器对象替换
vm
。为什么emptyCard
类有两个表达式?您可以将它们与emptyCard:card.data.length==0 | |!card.data
仍然不起作用Hi Mohsin,你能共享这个json vm.cardData[columns.id].data吗?这样我就可以清楚地理解,你在代码中对ng-class犯了什么错误。没有一张卡有自己的数据密钥,其中包含一些values@Mohsinkhan您能否共享vm
的示例内容?