2013-08-16 35 views
1

我創建了一個plunker爲了強調問題的一個自定義的指令工作: http://plnkr.co/edit/QHUpCv?p=previewNG-選擇不隨

如果刪除自定義屬性,或移動ng-select出來的,這兩家公司都列爲應該,如果我使用ng選擇或在自定義屬性指令中,我已創建它中斷。

我懷疑在menuCtrl範圍內需要某種$watch,但我不知道如何實現它。

回答

1

據我所知道的,問題是,你正在生成的指令,一個新的範圍,所以速戰速決是禁止經由:

// [...] 
restrict: "A", 
scope: false, 
link: //.. 

我做了一個plunkr這裏說明。

如果你想這種方式,喜歡的自己的範圍爲這個指令,你可以在值傳遞的選擇,即

<div restrict companies="companies" access="admin"> 

,並在指令的scope讀它:

restrict: 'A', 
prioriry: 100000, 
scope: { 
    companies: '=' 
}, 
當然

,那麼您需要直接與選擇使用的公司:

<select ng-model="data.selectedCompany" ng-options="company for (id, company) in companies"> 
+0

謝謝!現在工作得很好! 您能否詳細說明答案的第二部分?或者也許把我引到某種書面來源? 同樣將處理函數作爲參數傳遞給我看起來像可怕的猴子補丁,有沒有其他方式來做到這一點? –

+1

那麼,我會從這裏開始:http://docs.angularjs.org/guide/scope。至於處理函數 - 我不這樣做,只是讓服務返回數據的承諾,然後直接在控制器中應用處理程序 – Florian

+0

凸輪您請提供代碼示例? 我對角度很陌生,你需要我爲此打開一個單獨的問題嗎? 根據XHR請求製作聲明性的依賴於角度的文件根本沒有很好的記錄! –