angularjs - 在 Bootstrap 后向模块添加指令并应用于动态内容

标签 angularjs

我有一个网页,其中定义了一个模块(myModule),我在其中使用 Angularjs 进行增强

angular.bootstrap(element,[myModule.name]);

单击按钮后,我添加动态 html 并使用进行编译

$compile('<my-element data="data"></my-element>',$scope.$new());

该指令是使用添加的

myModule.directive('myElement',function(){});

问题是当我在调用 bootstrap 之前添加指令时, $compile 最终正确处理我的指令。但是,如果在调用 bootstrap 之后添加该指令,则 $compile 不会对我的 html 执行任何操作。它只是向其中添加了 ng-scope 类,并且不处理指令/标签。

就我而言,在调用 Bootstrap 之前并非所有指令都会被加载。如果我在调用 bootstrap 后加载指令,如何在页面中使用它?

谢谢。

编辑: 只是为了澄清。所有指令都是动态加载的。我在引导之前加载的那些工作正常。那些我在引导失败后加载的。当我交换加载的指令时,我可以得到相同的结果,因此它不是指令,而是在引导后,新添加的指令似乎没有生效。

最佳答案

注册惰性 Controller 或指令的问题是,您必须获取 $controllerProvider$compileProvider

它只能在配置阶段完成,因此您必须保留引用,直到加载 Controller /指令。

最近我正在研究 Controller 的延迟加载,今天我添加了对指令的支持,请在此处查看我的代码:

https://github.com/matys84pl/angularjs-requirejs-lazy-controllers/

特别是这个模块lazy-directives.js

注意:我在项目中使用RequireJS,但是将我的解决方案应用于yepnope应该非常容易。

关于angularjs - 在 Bootstrap 后向模块添加指令并应用于动态内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13504452/

相关文章:

javascript - Angularjs:如何 ng-repeat 具有也是数组的字段的对象数组?

javascript - 如何使用 Angular js中的时刻比较日期?

javascript - 如何创建嵌套在 html 内容中的基础弹出窗口(模板)

html - 使用 getText() 验证元素在使用 typeahead 时返回空字符串

javascript - AngularJS 分页 orderBy 只影响显示的页面

javascript - AngularJS 文件浏览器

json - 解析 JSON 并在 Angular 中显示数据

javascript - AngularJS 显示 JSON 数据

angularjs - AngularDart 使用 Docker 构建

jquery - AngularJS : UI Bootstrap Tabs and Jquery Custom ScrollBar