【问题标题】:Angular ng-switch with conditions [duplicate]带有条件的角度ng-switch [重复]
【发布时间】:2014-12-15 22:50:52
【问题描述】:

我有一个包含ng-switch-when 的元素的ng-switch="field.type",但我希望在它不仅仅是一个field.type 时打开开关。

我认为像 ng-switch-when="type1 || type2" 这样的东西会起作用,但它不会。

这样做的正确方法是什么?

【问题讨论】:

  • 像这样:ng-switch-when="{{typ1 || type2}}"
  • @Bhojendra-C-LinkNepal 根本不起作用
  • type1 和 type2 应该在 $scope 然后...
  • 它们在 $scope 中,它们也独立工作

标签: javascript angularjs conditional-statements ng-switch


【解决方案1】:

您可以通过为每个值复制相同的 ng-switch-when 元素(即具有相同内容/innerHTML 的元素)来解决此问题。

像这样:

<div ng-controller="mainCtrl">
    <div ng-switch="expression">
      <div ng-switch-when="matchvalue1">Item 1</div>
      <div ng-switch-when="matchvalue2">Item 1</div>
      <div ng-switch-when="matchvalue3">Item 3</div>
      <div ng-switch-default>default</div>
    </div>
</div>

http://jsfiddle.net/JoeSham/HB7LU/9201/

【讨论】:

  • 是的,但是有更多的代码看起来效率很低而且错误。
  • 这实际上是来自 angularjs 文档的解决方案。我认为它足够高效,也许不是那么优雅。如果你想要一个优雅的解决方案,你可以创建自己的 ng-switch-directive。
猜你喜欢
  • 1970-01-01
  • 2013-12-26
  • 2013-08-06
  • 2018-04-23
  • 1970-01-01
  • 1970-01-01
  • 2017-02-21
  • 2014-03-25
  • 1970-01-01
相关资源
最近更新 更多