gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 12:38:03 25 4
gpt4 key购买 nike

我有一个网页,其中定义了一个模块(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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com