2016-11-24 94 views
0

我從一個jQuery插件內注射角的標記外指令範圍(得到了這個gist的想法):角 - 無法訪問時,指令注入的角度

var $place = this.$el.find('.medium-insert-active'); 
Angular.element($place).injector().invoke(function($compile) { 
    var scope = Angular.element(document.getElementById('editor-container')).scope(); 
    $place.html($('<quiz/>')); 
    var quiz = $compile($place.contents())(scope); 
    scope.$digest(); 
}); 

這裏是quiz指令:

const quiz = { 
    controller: QuizController, 
    controllerAs: 'qm', 
    template: require('./quiz.html'), 
} 

這成功地將我的指令編譯到DOM並實例化QuizController

我想知道如何訪問我的quiz指令的scope(和QuizController)。

我認爲這應該是quiz.scope(),但是這給出了範圍包含在scope變量。

這是plunker

+0

我詢問'QuizController'從服務器獲取數據,包括我需要以編程方式進行交互的ID。 – jsindos

+0

你可以分享一個plunker ..爲了幫助你更好的方式 –

+0

添加一個蹲跳者 – jsindos

回答

0

我正在創建一個隔離範圍,因爲我正在創建一個component。如果我在沒有隔離範圍的情況下創建directive,則控制器將附加到傳遞到由$compile返回的鏈接函數的範圍。