2016-11-24 96 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返回的链接函数的范围。