gpt4 book ai didi

angularjs - 手动引导 AngularJS,然后获取模块

转载 作者:行者123 更新时间:2023-12-04 01:11:32 25 4
gpt4 key购买 nike

通常,我会执行以下操作,并且会有 ng-app在我的 HTML 中:

var myApp = angular.module("myApp", []);

myApp.controller("AttributeCtrl", function ($scope) {
$scope.master = {
name: "some name"
};
});

但是,我需要手动引导 angular,因为我只在通过 jQuery 的 $.load() 加载的应用程序的一部分中使用它。 .如果我执行以下操作:

main.js - 这是我要使用 angular 的页面被拉入的地方
$("#form").load(contextPath + url, params, function() {
angular.bootstrap($("#angularApp"));
});

然后被拉入的页面有它自己的javascript:
function AttributeCtrl($scope) {
$scope.master = { name: "some name"};
}

这可行,但是,理想情况下,我希望我的 Controller 在模块级别的范围内。所以我像这样修改了上面的代码

main.js
$("#form").load(contextPath + url, params, function() {
angular.bootstrap($("#angularApp", ["myApp"]));
});

进而...
var app = angular.module("myApp"); // retrieve a module

app.controller("AttributeCtrl", function($scope) {
$scope.master = { name: "some name"};
});

但是,以这种方式检索模块似乎不起作用。难道我做错了什么?

最佳答案

启动应用程序后,您无法创建 Controller 。见 the documentation for angular.bootstrap .

You should call angular.bootstrap() after you've loaded or defined your modules. You cannot add controllers, services, directives, etc after an application bootstraps.

关于angularjs - 手动引导 AngularJS,然后获取模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16545204/

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