【问题标题】:AngularJS - Can I use data binding value depending on ternary operatorAngularJS - 我可以根据三元运算符使用数据绑定值吗
【发布时间】: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,效果也不错!

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


【解决方案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发布时,这里描述了三元运算符stackoverflow.com/questions/12008580/…
    • 我也可以像这样传递值吗--> {{ object1.hidden && '{{value1}}' || '{{value2}}' }} ?
    猜你喜欢
    • 2018-10-18
    • 2016-11-19
    • 2023-02-16
    • 1970-01-01
    • 2019-05-13
    • 2019-01-06
    • 2014-12-12
    • 2014-12-15
    • 1970-01-01
    相关资源
    最近更新 更多