3
我可以在指令中觀察一個對象的屬性(實際上是clientHeight)。但是如何根據這個高度來改變其他物體的填充頂部?我知道如何使用jQuery來做到這一點,但我正在尋找一種Angular方式。Angular.js:觀察一個對象的高度並更新其他對象的填充
在Angular中,可以使用指令訪問某個頁面元素。好的,但如何訪問同一指令中的其他頁面元素?
我可以在指令中觀察一個對象的屬性(實際上是clientHeight)。但是如何根據這個高度來改變其他物體的填充頂部?我知道如何使用jQuery來做到這一點,但我正在尋找一種Angular方式。Angular.js:觀察一個對象的高度並更新其他對象的填充
在Angular中,可以使用指令訪問某個頁面元素。好的,但如何訪問同一指令中的其他頁面元素?
有很多方法可以做到這一點。對於下面的所有建議,假設您有兩個指令–一個用於監視clientHeight,另一個用於調整填充。
someObj.prop1
)。其他指令$監視該對象的屬性。如果存在祖先關係,則可以在後代指令中指定require
祖先指令的控制器。一個例子見AngularJS: reuse component with different parent。
不推薦,但另一種選擇是:使用$ rootScope而不是服務:在兩個指令中注入$ rootScope。讓第一個指令修改$ rootScope上的對象屬性。其他指令$監視該對象的屬性。
+1。如果您要在應用程序中執行此操作,那麼您更喜歡哪種方法?爲什麼? – 2013-02-28 16:10:21
@Trevor,如果使用指令的兩個元素是相關的,並且始終/自然地具有祖先 - 後裔關係,那麼我會使用'require'。如果可能(現在或將來)在這些指令之間共享一些額外的信息,即服務。如果這是一款一勞永逸的快速應用程序,或者我感覺很懶,$ rootScope或事件。 – 2013-02-28 16:17:16