AngulaR语言 当指令注入到 Angular 之外时,无法访问指令范围



我正在从jQuery插件中注入角度标记(从此要点获取想法):

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。

我在创建component时创建了一个孤立范围。如果我相反创建一个无分离范围的directive,则将控制器连接到传递到$compile返回的链接函数的范围中。

最新更新