如何在Angularjs中编写禁用数据-ng的条件:
只应在以下情况下启用该按钮:
1:应选择插槽并检查所选插槽边距是否<= 35且原因!=''
2:应选择插槽并检查边距是否> 35
我尝试过的代码但不起作用:
data-ng-disabled="!selAppt.selected && (selAppt.selected.margin >= 35 || ReservedAssessorDetails != '')"
答案 0 :(得分:4)
它似乎失败的部分原因是!selAppt.selected
和selAppt.selected.margin
在一起使用时永远不会返回true。因此,只有当您没有选择约会时,您的条件才会呈现真实 AND 保留的评估者详细信息不是 falsy 。所以你需要先修复那个逻辑。
其次,我会为此写一个过滤器:
.filter( 'hasSelected', [
function(){
return function(selAppt, ReservedAssesorDetail){
return conditional-based-on-logic
}
}
])
然后你这样实现:
<elem ng-disabled="selAppt | hasSelected : ReservedAssesorDetail"/>
我提倡对内联解决方案进行过滤的原因是,如果由于某种原因条件逻辑发生变化,您只需要在过滤器中更改一次,而不是多次将其内联编写。