2014-04-25 22 views
0

我想建立一個具有一些特定特徵(與這個問題沒有直接關係)的上下文菜單指令。我試圖將它作爲一個「附件」指令來實現,該指令將其設置的元素的範圍附加到預製的「菜單」元素。由於我無法找到關於此主題的任何規範文檔,因此我已經使用Chrome開發人員工具進行了一些挖掘。

我做了一個簡單的測試用例,顯示我的實現(問題)在這裏:http://plnkr.co/edit/URafJe0OcRsMsmaEdmDi?p=preview

它有效地對元素的範圍使用$new創建一個新的繼承子範圍,然後嘗試該範圍重視'menu'元素(由ID引用),通過設置其$scope數據屬性,並設置ng-scope類。

我遇到的問題是,菜單元素仍然似乎無法訪問附加範圍。任何與該範圍有關的表達式都是空的(再次參見上面的Plunker)。 $scope數據屬性正確設置爲新創建的繼承子範圍,並且該範圍正確繼承,因此父範圍值應該可以訪問。我也通過添加一個簡單的「1 + 1」表達式來驗證它是否解釋了所有的任何綁定- 這工作正常。

爲什麼我不能訪問被假定連接到元素的作用域,以及/或者手動將作用域附加到指令中元素的正確方法是什麼?

回答

1

這是你plunkr的叉:http://plnkr.co/edit/V0dbM4NFcxdT8YEXWs4l?p=preview

我不知道該怎麼做你想要什麼,而無需使用$編譯。我在plunkr做了這樣的事情:

menu_element = $compile(menu_element)(child_scope); 
+0

Thanks;這個答案讓我意識到我錯了,我應該實例化模板,而不是圍繞預先存在的元素移動:) –

相關問題