2013-05-09 187 views
1

我有一些關於嵌套指令範圍的問題。我有兩個指令:列和嵌套菜單。它們的結構可以是這樣的:Angular.JS - 一個指令中的指令,在指令中,指令內。範圍問題

    • 嵌套菜單
    • 嵌套菜單
      • 嵌套菜單
      • 其他內容
    • 嵌套菜單
    • 其他內容
    • 其他內容

列具有可變的,這是所有的嵌套菜單的應反應。我試圖用幾種方式來做這項工作,我發現谷歌搜索,如廣播來自列指令的事件(出於某種原因,嵌套菜單隻看到事件,當我從$ rootScope廣播它),設置一個指令控制器在列和存儲變量(我可以讀它,但我不能$看它)。

重要的是兩個指令都有一個獨立的範圍,因爲它們應該可以在多個區域重複使用,有時甚至可以嵌套在自己的範圍內。

我做了一個簡化的基礎結構Plnkr,這是行不通的。 http://plnkr.co/edit/1GP7SKacO777og8PysNF

謝謝!

回答

2

我不知道你想如何表現完全。但是,這是一個解決兩個指令相互影響的指令。

nested-menu目前僅在其父項中預期column,但如果您願意,您可以將其更改爲在其父項中預期另一個nested-menu

這是工作的重擊者。希望這可以幫助。

http://plnkr.co/edit/IAn9Ib8sSkQwKx6mpsm5?p=preview

+0

嗨Ganaraj。這非常接近我想要的,非常感謝。我希望它以這種方式行事,因爲嵌套菜單的行爲取決於列的狀態。 但是,我還需要監聽嵌套菜單指令中的值(不僅在視圖中)。你有什麼想法如何實現這一目標? – ricardogo 2013-05-10 01:18:44

+0

哈,我設法$觀看控制器功能:http://plnkr.co/edit/9nIhoObRLbkSyiwKCQri 我接受你的答案。 我做了一個簡單的測試用例,在那個函數可以工作的plnkr中,但是一個簡單的變量卻沒有。你知道爲什麼嗎? – ricardogo 2013-05-10 01:44:46