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
感到“害怕”,你现在可以使用
,这取决于你的可读性。。。