我想創建一個指令,該指令跨越了指令可以綁定和修改的內容。該指令具有隔離範圍。我想它的工作是這樣的:將對象注入到Angular 1.3中的transcluded內容的範圍內
<my-directive bound-item-name="childObj">
<input ng-model="childObj.someField">
</my-directive>
在運行時,我想用childObj
的別名,在對象上my-directive
的隔離範圍稱爲activeObject
。從本質上講,您可能會認爲這與ng-repeat
可讓您使用類似obj as alias in objList
的陳述類似,並且在transcluded內容alias
指的是單個實例。
我似乎無法弄清楚我該如何實際做到這一點......如果我改變了透露的內容以參考$parent.activeItem
它確實按我想要的方式工作,但是我覺得那樣會期待讓橫切的內容知道關於指令是如何工作的太多了。似乎在編譯函數中進行修改可能會起作用,除非我無法在文檔中看到,我如何才能真正做到這一點與transcluded內容。雖然我沒有看到有證據表明有辦法做到這一點,但強迫被跨行內容與指令分享其範圍是可以的。
這一定是可能的,但如何?
擺弄這一些,我能夠通過修改scope.$$childHead[scope.boundItemName]
而不是在指令中使用scope.activeObject
來得到它的工作。儘管如此,如果可能的話,我想不依賴未記錄的內部對象。
只是不辦分離範圍的指令 –
@PawełSmołka這不是我的情況選擇。或者如果是這樣,我不得不解決它會導致的一堆其他問題。 – Casey
所以我認爲你需要把你的代碼放在提琴和鏈接它 –