如何动态添加新模块

How to add a new module dynamically?

本文关键字:模块 新模块 添加 动态 何动态      更新时间:2023-09-26

我有以下.js代码的图像:

 $.ajax({
     url: 'some/url',
     success: function(result) {
        $activeTabContainer.html(result);
    }
 });

$activeTabContainer is jQuery selecteddiv.

结果对象包含html(带有script标签),可能类似于:

<div ng-app="mySpa">
    <div ng-controller="myController"></div>
</div>

然后在同一个.html文件中添加一个脚本标签,其中包含:

(function () {
    "use strict";
    var app = angular.module("mySpa", []);
    app.controller("myController", [function () {
        debugger;
    }]);
})();

它完美地执行了脚本标签中的.js部分,但我猜angular必须以某种方式通知动态添加的模块及其控制器,就像动态引导一样。

有谁有主意吗?

我找到了解决方案,这是因为angular在动态添加新模块时不会自动引导。你需要手动引导它:

angular.bootstrap(document, ["mySpa"]);

并且它工作:-)

链接到文档:https://docs.angularjs.org/api/ng/function/angular.bootstrap