在AngularJS中,我有基本跨越的指令。我知道,當我使用它時,通常是transcluded input或textarea,如果有,我希望$觀察它的模型以進行更改。但是我沒有權限訪問transcluded內容的屬性,只能訪問根元素的哪個指令被調用。 Transcluded範圍以及(也許範圍。$$ nextSibling可以幫助,但有些事告訴我,這是地獄的方式:))。AngularJS - 觀察transcluded元素的模型
那麼有沒有辦法做到這一點,而不需要添加另一個參數(屬性)元素的指令稱爲?
指令模板
<div ng-transclude>
<someContent>...</someContent>
<!-- HERE IS INPUT TRANSCLUDED -->
</div>
指令使用
<div my-directive="somedata"> //this attribs are accessable
<input ng-model="iWantToWatchThisInMyDirective" /> //but i want to access this also
</div>
你想達到什麼樣的? –
我想知道模型文本是否爲空,並且應用一些邏輯,比如向指令的根元素添加類。 –
最好的方法是在屬性中傳遞參數iWantToWatchThisInMyDirective,並觀察該屬性,但仍然如果您不想要那麼你可以在家長控制器中觀看模型,並在父控制器中廣播一個事件,並聽取指令 –