我在構建單擊來編輯指令,但是在理解如何在獨立的指令中訪問父範圍時遇到問題。在孤立的指令中訪問父範圍
實施例:http://jsfiddle.net/ADukg/3591/
scope: {},
它的工作原理,如果我 「unisolate」 的範圍中除去範圍:{};但需要隔離的範圍。
UPDATE:
幹過加入
controller: 'FormCtrl',
該指令。請參閱http://jsfiddle.net/ADukg/3601/
我在構建單擊來編輯指令,但是在理解如何在獨立的指令中訪問父範圍時遇到問題。在孤立的指令中訪問父範圍
實施例:http://jsfiddle.net/ADukg/3591/
scope: {},
它的工作原理,如果我 「unisolate」 的範圍中除去範圍:{};但需要隔離的範圍。
UPDATE:
幹過加入
controller: 'FormCtrl',
該指令。請參閱http://jsfiddle.net/ADukg/3601/
您可以使用隔離範圍上的$parent
屬性來直接訪問父範圍,但通常需要使用屬性來指定指令需要執行其工作的父範圍屬性。
如果您需要更改指令中的父範圍屬性,請使用=
(雙向對象)進行綁定。如果您只需要指令中父範圍屬性的字符串值,請使用@
(單向字符串)進行綁定。
如果您傳遞一個屬性,如'string','long'等原始類型,則給定的解決方案將不起作用。etc 雙向賓果只適用於對象。
每個範圍對象都包含一個名爲$ parent的特殊屬性,它指向其父範圍。隔離的作用域還有一個$ parent屬性。但它指的是封閉的控制器/指令的範圍。
爲了使它與原始屬性一起工作:您可以將您的指令模板綁定到控制器。這會將你的指令公開給它的父代,你可以通過$ parent訪問。
第二種解決方案是不做隔離作用域(但我認爲這不是你的目標)。
可能的重複[如何在自定義指令\ *中使用自定義範圍*在AngularJS中訪問父範圍內的內容](http://stackoverflow.com/questions/17900201/how-to-access-parent-scope - 從 - 中之自定義指令與 - 自有範圍,在安) – thorn