2015-02-07 16 views
0

说你有范围的对象yourObject和您要访问像下面的一些深层次的属性:是否有任何指令在角度上像“with”一样行事?

<ol> 
<li ng-bind="yourObject.thing.map.one"></li> 
<li ng-bind="yourObject.thing.map.two"></li> 
<li ng-bind="yourObject.thing.map.three"></li> 
</ol> 

是否有任何内置的指令,可以使它看起来更像是这样的:

<ol ng-with="yourObject.thing.map"> 
<li ng-bind="one"></li> 
<li ng-bind="two"></li> 
<li ng-bind="three"></li> 
</ol> 

UPDATE 也有类似的问题。请参阅Equivalent of {{#with}} in angular

+0

的可能重复的[等效{{#with}}在角(http://stackoverflow.com/questions/24131910/equivalent-of-with-in-角) – redben 2015-03-08 18:20:38

回答

1

我会做这种情况的一种方法是通过实现一个控制器,将有一个变量的那些一个,两个三...然后使用ng-repeat来循环。

所以对于ng-controller,你可以写,ng-controller="SomeCtrl as ctrl"

然后ctrl.arrayVariable将容纳所有你想显示

为了使事情非常简单的一组数据,你可以通过使用ng-repeat循环数据。 因此,可能ng-repeat="var in ctrl.arrayVariable"

总之,我不确定你的代码是如何构造的,但它应该在大多数情况下工作。

长话短说,ng-repeat是真棒

+0

好主意,简单。尽管我可以腾出更多的代码,但看起来你的解决方案是最简单的。谢谢 ! (注意:虽然这个例子看起来像是一个重复模式,但我正在寻找一个全面解决深嵌套属性访问混乱的问题) – redben 2015-02-07 20:44:15

相关问题