我正在从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
返回的链接函数的范围中。