2013-11-24 49 views
0

我正在構建基於AngularJs和GMaps API v3的應用程序。我想到的問題是我需要一種方法來從另一個指令(這很容易與需要)和來自相同的指令調用指令的控制器的方法。在同一指令中注入指令的控制器

讓我們把它放到一個例子:

我已經得到了使用GMaps JS LIB渲染圖的指令。並且還提供了一些標記,還有另一個處理導航的指令(即更改路線)。當我從路線A前往路線B時,我需要清除標記並將地圖留空。

那麼哪個是達到此目的的最佳方法?我應該建立三個指令嗎?一個用所有的渲染方法和銷燬標記方法,然後從其他指令中調用它們?或者有沒有辦法將指令的控制器注入到相同的指令中?

回答

0

controller的指令中link功能之前執行,並在控制器的所有$scope聲明可在同一指令的scope

因此,控制器注入指令本身。

演示:http://plnkr.co/edit/HnwJ0w0VTLbNOC87k74n?p=preview

+0

MMMM,我已經試過這樣的事情: 控制器:函數(){ this.method =函數(){ 做點什麼 }} , 鏈接:功能(控制器){ 控制器。方法(); } 並沒有工作:( –

+0

@FacuFerrari檢查附加演示 –

+0

mmm我認爲,如果我將它附加到$範圍它將是相同的聲明方法在全局控制器。它? –