我正在嘗試一些Angular,並且仍然有我的JQuery頭。當我嵌套指令時,如何訪問特定的父範圍?
我有一個div,它包含一個包含鏈接的下拉導航欄。當鏈接被點擊時,我想讓div離開並被一些ajaxed內容替換,並且我想標記爲在標誌範圍上設置。
一個已經創建了3個嵌套的指令,每一個都有它自己的範圍(範圍:TRUE):
- flaggable,對於DIV,這AJAXes在內容上標記,當設置爲true。
- 下拉式,對於導航,當摺疊狀態設置在範圍上時,摺疊並展開導航。
- flagButton,這個設置標記在最近的包含可標記元素上。
我的問題,它可能是一個簡單的問題,是我如何從flagButton範圍到最近包含的旗標作用域,以便我可以在標記範圍中設置標記的參數。
我不想假設flagLink總是在下拉菜單中,或者總是有3個嵌套的作用域,可能會有更多。
在JQuery中,這將很簡單,我只是使用遍歷來獲取.closest('。flaggable')元素,並設置值。雖然這對我來說看起來並不是很有趣。我很可能會嘗試一些荒謬的事情。
謝謝!
如何在視圖中組織這些指令的示例代碼會很有幫助。它看起來像有多個div與指令。每個div應該有一個控制器,並且這是bool的設置。這個布爾然後可以通過'scope'通過子指令來操作。 –
我的印象是,如果我在子作用域上設置一個布爾值,它將被設置在該作用域而不是父作用域上,並且會在該上下文中隱藏父作用域。 – superluminary
這是真的,但您不必直接在範圍上設置它,而是像'$ scope.flag = {set:false}'和'flagButton'範圍內'$ scope.flag.set = true' 。 – zeroflagL