2016-08-07 55 views
0

我找不到一種方法來表達我想要的東西,所以標題可能不像我想要的那樣準確(不要猶豫,幫助我重述它),但這裏是解釋:如何在對象周圍創建範圍以便在Angular中快速訪問?

比方說,我有這樣的對象,綁定到我的控制器

var ctrl = this; 
    ctrl.myObject = { 
    nested: { 
     ppty: 1, 
     otherPpty: 2 
    }, 
    stuff: 'foo' 
    } 

我想什麼在HTML做

<div ng-controller="MyController as myCtrl"> 
    <div class="divOfInterest" ng-something="myCtrl.myObject.nested as o"> 
     <span> Ppty: {{o.ppty}}</span> 
     <span> otherPpty: {{o.otherPpty}}</span> 
    </div> 
    </div> 

所以我不需要前綴myCtrl.myObject.nested.ppty當我在divOfInterest

我知道可以用指令完成,但因爲我不會在其他地方重複使用,所以我只想在控制器中獲得一些對象的快捷方式。

任何想法如何執行?

+0

我不認爲這將是可能的,如果沒有額外的控制器。 – Casey

+0

或者我猜你可以使用ng-repeat和一個元素的數組。 – Casey

+0

其實,想一想更多...爲什麼不直接用嵌套屬性在你的控制器上創建一個屬性呢?像'ctrl.o = myObject.nested'? – Casey

回答

0

我認爲ng-init可能會幫助你在這種情況下。

ng-init="o = myCtrl.myObject.nested "

+0

它可能適用於我的情況,但文件聲明它應該只用於兩種情況,而我不是其中之一,所以我會繼續按照凱西和哈姆雷特的建議去做。感謝您的回答。 – ValLeNain