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

Geo*_*lov 12 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>
Run Code Online (Sandbox Code Playgroud)

解决方案(感谢jdp)

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

$scope.isItHidden = function(object){
    return object.hidden ? 'Maximize' : 'Minimize';
}
Run Code Online (Sandbox Code Playgroud)

Chr*_*ery 30

随着角度1.2的发布,您现在可以使用更直观的三元运算符 ng-bind

<a ng-bind="object1.hidden ? 'Maximize' : 'Minimize'"></a>
Run Code Online (Sandbox Code Playgroud)

或括号内

<a>{{ object1.hidden ? 'Maximize' : 'Minimize' }}</a>
Run Code Online (Sandbox Code Playgroud)


hol*_*ple 11

你可以这样做

{{ object1.hidden && 'Minimize' || 'Maximize' }}
Run Code Online (Sandbox Code Playgroud)

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