AngularJS - 我可以根据三元运算符使用数据绑定值

时间:2013-07-16 16:59:38

标签: angularjs angularjs-scope angularjs-ng-repeat

我有一个ng-repeat li 元素,我想为 li 设置一个特定值,具体取决于函数是返回true还是false,而不是想要在控制器中执行它,因为我有依赖性问题,它使所有 li 元素最小化或最大化,但我希望它适用于每个 li 元素。我尝试使用包括以下内容在内的几件事而没有任何运气我不确定我做错了什么,但我很感激任何输入或任何其他方式。

object1来自包含此 li 元素的ng-repeat。

<li><a tabindex="-1" ng-click="setHidden(object1)">{isItHidden(object1) ? 'Minimize' : 'Maximize'}</a></li>

解决方案(感谢jdp)

<li><a tabindex="-1" ng-click="setHidden(object1)">{{isItHidden(object1)}}</a></li>

$scope.isItHidden = function(object){
    return object.hidden ? 'Maximize' : 'Minimize';
}

2 个答案:

答案 0 :(得分:30)

随着角度1.2的发布,您现在可以在ng-bind

中使用更直观的三元运算符
<a ng-bind="object1.hidden ? 'Maximize' : 'Minimize'"></a>

或括号内

<a>{{ object1.hidden ? 'Maximize' : 'Minimize' }}</a>

答案 1 :(得分:10)

你可以这样做

{{ object1.hidden && 'Minimize' || 'Maximize' }}

在角度1.2中,将添加一个真正的三元运算符。