Angularjs 是否有一个“问题”;具有“作为……”;有角度的从句?

Angularjs 是否有一个“问题”;具有“作为……”;有角度的从句?,angularjs,Angularjs,这是我的用例 <li ng-repeat="item in heterogeneousFruitArray"> <div ng-if="item.type == 'apple'"> ... custom apple stuff ... </div> <div ng-if="item.type == 'orange'"> ... custom orange stuff ... </div> ... st

这是我的用例

<li ng-repeat="item in heterogeneousFruitArray">
  <div ng-if="item.type == 'apple'">
    ... custom apple stuff ...
  </div>
  <div ng-if="item.type == 'orange'">
    ... custom orange stuff ...
  </div>
  ... stuff for all fruits ...
</li>
  • ... 自定义苹果的东西。。。 ... 定制橙色的东西。。。 ... 所有水果的东西。。。
  • 如果我能说,它会增加可读性

    <li ng-repeat="item in heterogeneousFruitArray">
      <div ng-if="item.type == 'apple'">
    
        <span ng-with="item as apple">
           <h1>{{apple.name}}</h1>
           Crispness: {{apple.crispness}}
           ... and so on...
        </span>
    
      </div>
      ...
    </li>
    
  • {{apple.name} 脆度:{apple.Crispness} ... 等等 ...
  • 有没有一种方法可以做到这一点

    我意识到,由于我的django模板背景,这种模式可能是我用重音编码的。如果我离“如何在angular中完成”还有几英里远,请告诉我。

    您可以随时使用来实现这一点

    Html:

    .

    您始终可以使用来实现这一点

    Html:


    .

    ngInit
    的设计考虑了别名,尤其是在
    ngRepeat
    中:

    <li ng-repeat="item in heterogeneousFruitArray">
      <div ng-if="item.type == 'apple'" ng-init="apple=item">
        ... custom apple stuff ...
      </div>
      <div ng-if="item.type == 'orange'" ng-init="orange=item"">
        ... custom orange stuff ...
      </div>
      ... stuff for all fruits ...
    </li>
    
  • ... 自定义苹果的东西。。。
    ngInit
    的设计考虑了别名,尤其是在
    ngRepeat
    中:

    <li ng-repeat="item in heterogeneousFruitArray">
      <div ng-if="item.type == 'apple'" ng-init="apple=item">
        ... custom apple stuff ...
      </div>
      <div ng-if="item.type == 'orange'" ng-init="orange=item"">
        ... custom orange stuff ...
      </div>
      ... stuff for all fruits ...
    </li>
    
  • ... 自定义苹果的东西。。。

    与<代码> NGITIT <代码>混叠时,还应考虑使用<代码> ngSwite,而不是同时使用多个<代码> NGIF < /C> > S,其中只有一个被同时评估为<代码>真< /代码>。 使用

    ngSwitch
    具有相同的结果,但增加了可读性,并且效率更高,因为它在每个摘要循环中对条件求值一次(与多个
    ngIf
    s不同,在多个
    ngIf
    中对同一表达式求值一次)

    例如:

    <li ng-repeat="item in heterogeneousFruitArray">
        <div ng-switch="item.type">
    
            <!-- Apple-specific template -->
            <span ng-switch-when="apple" ng-init="apple=item">
                <h1>{{apple.name}}</h1>
                Crispness: {{apple.crispness}}
            </span>
    
            <!-- Orange-specific template -->
            <span ng-switch-when="orange" ng-init="orange=item">
                <h1>{{orange.name}}</h1>
                Juicy-ness: {{orange.juicyness}}
            </span>
    
            <!-- Default template (used when `item.type` is unknown/unexpected) -->
            <span ng-switch-default ng-init="unknown=item">
                <h3>What kind of fruit is "{{unknown.type}}" ???</h3>
            </span>
    
        </div>
    </li>
    
  • {{apple.name} 脆度:{apple.Crispness} {{orange.name} 多汁性:{{橙色.多汁性} 什么水果是“{{unknown.type}”???

  • < /代码> 与<代码> ngIIT/<代码>混叠时,还应考虑使用<代码> ngSwite,而不是同时使用多个<代码> ngIF < /代码> s,其中只有一个被同时评估为<代码>真< /代码>。 使用
    ngSwitch
    具有相同的结果,但增加了可读性,并且效率更高,因为它在每个摘要循环中对条件求值一次(与多个
    ngIf
    s不同,在多个
    ngIf
    中对同一表达式求值一次)

    例如:

    <li ng-repeat="item in heterogeneousFruitArray">
        <div ng-switch="item.type">
    
            <!-- Apple-specific template -->
            <span ng-switch-when="apple" ng-init="apple=item">
                <h1>{{apple.name}}</h1>
                Crispness: {{apple.crispness}}
            </span>
    
            <!-- Orange-specific template -->
            <span ng-switch-when="orange" ng-init="orange=item">
                <h1>{{orange.name}}</h1>
                Juicy-ness: {{orange.juicyness}}
            </span>
    
            <!-- Default template (used when `item.type` is unknown/unexpected) -->
            <span ng-switch-default ng-init="unknown=item">
                <h3>What kind of fruit is "{{unknown.type}}" ???</h3>
            </span>
    
        </div>
    </li>
    
  • {{apple.name} 脆度:{apple.Crispness} {{orange.name} 多汁性:{{橙色.多汁性} 什么水果是“{{unknown.type}”???

  • Link只回答rot。在这里放一个例子和链接。过滤方法似乎不适用于此用例——我需要能够使用苹果、橙色、苹果、苹果、橙色、苹果、葡萄、葡萄柚、橙色、,苹果——按照这个顺序。然后创建你自己的自定义过滤器。我认为你不理解这个用例:我想重命名对象以提高可读性。我不想只显示对象的子集,或重命名所有对象。提供一个不能解决给定用例的解决方案,然后说“编写您自己的代码”并不像我想象的那样有用。您的主要问题一点也不清楚,直到现在我才真正理解您真正想要的是什么,因此,首先,您的应用程序是javascript,无论您访问的是苹果的属性还是橙色的属性。在我看来,如果你添加了一个ng,它不会增加可读性,也不会真正增加你的功能。使用ng init不会增加可读性,也不会增加功能。仅链接会导致错误。请在此处列出一个示例以及链接。过滤器方法似乎不适用于此用例--我需要能够使用苹果、橙色、苹果、苹果、橙色、苹果、葡萄、葡萄柚、橙色、,苹果——按照这个顺序。然后创建你自己的自定义过滤器。我认为你不理解这个用例:我想重命名对象以提高可读性。我不想只显示对象的子集,或重命名所有对象。提供一个不能解决给定用例的解决方案,然后说“编写您自己的代码”并不像我想象的那样有用。您的主要问题一点也不清楚,直到现在我才真正理解您真正想要的是什么,因此,首先,您的应用程序是javascript,无论您访问的是苹果的属性还是橙色的属性。在我看来,如果你添加了一个ng,它不会增加可读性,也不会真正增加你的功能。使用ng init不会增加可读性,也不会增加功能。嗯。。这是一个非常强烈的警告。否则,它看起来像是做了很多,如果不是我想要做的。我认为通过别名提高可读性是angular团队的意图。在我的其他帖子中,我经常看到它被误用。@Ted如果你对
    ng init
    感到“害怕”,这是一个非常强烈的警告。你现在可以使用
    了,这取决于你的可读性……嗯。。这是一个非常强烈的警告。否则,它看起来像是做了很多,如果不是我想要做的。我认为通过别名提高可读性是angular团队的意图。在我看来,你正确地使用了它。在其他帖子中,我经常看到它被误用。@Ted这是一个非常强烈的警告,如果你对
    ng init
    感到“害怕”,你现在可以使用
    ,这取决于你的可读性。。。