我對JavaScript編程還很陌生,我只涉及AngularJS。爲了評估它,我決定寫一個簡單的筆記應用程序。該模型非常簡單,每個音符都有一個標籤,一個文本和一個標籤列表。然而,我遇到了嵌套指令的隔離範圍之間傳遞數據的問題。在嵌套和重複的angularjs指令中調用鏈接函數的順序
我有三個指令,註釋,說明和標註器(定義具有相同名稱的新元素)。他們每個人都使用一個孤立的範圍。
該票據指令使用NG-重複到「渲染」附註與note元素中的每一個。
note指令使用標記元素「呈現」標記列表。
note指令定義範圍:{getNote:「&」,...}以便將音符實例從音符列表傳遞到音符控制器/指令。 getNote(index)函數在note指令的鏈接函數中被調用。這工作正常!
tagger指令定義範圍:{getTags:「&」,...},以便將給定筆記的標記列表傳遞給標記控制器/指令。 getTags函數在tagger指令的鏈接函數中調用。這不行!
據我瞭解,問題是,指令的鏈接函數調用中不一致的順序。調試應用程序顯示的鏈接功能被稱爲按以下順序:在筆記
鏈路功能指令 (添加getNote函數來註釋範圍)
鏈路功能在標記器指令第一個音符 的第一個音符指令 (添加getTags的範圍) (調用getNote(調用父音符範圍getTags)功能
鏈接功能父音符範圍)
鏈接功能在第二個音符的惡搞指令 (調用父音符範圍getTags)函數在第二個音符指令 (添加getTags到
鏈接功能範圍) (調用getNote父指出範圍)
這是行不通的,因爲在#2的第一個音符的範圍還沒有一個getTags功能。
甲簡單的例子可以在Plunker找到。
因此,我的問題歸結爲:什麼決定了鏈接功能被稱爲嵌套指令的順序。
(我解決問題的辦法使用上的惡搞指令getTags $表...)
問候
[角度指令的預鏈接,後鏈接和控制器方法實用指南](http://www.undefinednull.com/2014/07/07/practical-guide-to-prelink-postlink-and-controller-methods -of-angular-directives /)是非常全面的文章,如何在嵌套的指令中使用pre-link/post-link。 –