我创建了一个自定义指令属性,它将一个普通的选择框变成一个 ChosenJS (http://harvesthq.github.com/chosen/) 选择框。为了使代码更干净,我想用 HeadJS 异步加载外部 selected.js 插件文件。这是我的 AngularJS 指令:
myApp.module.directive('chosen-select', function() {
head.js(myApp.pathTo.plugin.chosen);
head.ready(function() {
var linker = function(scope, element, attr) {
element.chosen();
}
return {
restrict: 'A',
link: linker
}
})
});
我遇到的问题是,似乎因为我异步加载它,Angular 不知道它存在并且指令不起作用。有没有办法以编程方式注入动态加载的模块指令,以便 Angular 知道它并相应地更新视图?