AngularJS - 我可以根据三元运算符使用数据绑定值吗
Posted
技术标签:
【中文标题】AngularJS - 我可以根据三元运算符使用数据绑定值吗【英文标题】:AngularJS - Can I use data binding value depending on ternary operator 【发布时间】:2013-07-14 23:52:44 【问题描述】:我有一个 ng-repeat li 元素,我想根据函数返回 true 或 false 为该 li 设置一个特定值,但我没有想在控制器中执行此操作,因为我有依赖性问题,它使它最小化或最大化所有 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';
【问题讨论】:
请分享完整的html和js文件object1在代码中不可见 你不能在视图中做这样的逻辑。为什么你不能让$scope.isItHidden(obj)
返回“最小化”或“最大化”?如果您将特定对象作为函数参数传递,则不应有任何干扰。你能分享你的控制器和一些示例数据吗?
@jdp,效果也不错!
【参考方案1】:
随着 Angular 1.2 的发布,您现在可以在 ng-bind
中使用更直观的三元运算符
<a ng-bind="object1.hidden ? 'Maximize' : 'Minimize'"></a>
或括号内
<a> object1.hidden ? 'Maximize' : 'Minimize' </a>
【讨论】:
【参考方案2】:你可以这样做
object1.hidden && 'Minimize' || 'Maximize'
在 Angular 1.2 中将添加一个真正的三元运算符。
【讨论】:
谢谢!我在寻找什么。 现在1.2发布时,这里描述了三元运算符***.com/questions/12008580/… 我也可以像这样传递值吗--> object1.hidden && 'value1' || 'value2' ?以上是关于AngularJS - 我可以根据三元运算符使用数据绑定值吗的主要内容,如果未能解决你的问题,请参考以下文章