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

前端之家收集整理的这篇文章主要介绍了手动引导AngularJS,然后获取模块前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
一般来说,我会执行以下操作,我的 HTML中将会有一个ng应用程序:
var myApp = angular.module("myApp",[]);

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

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

main.js – 这是我想要使用角度的页面被拉入的地方

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

然后被拉入的页面有它自己的javascript:

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

但是,这个工作理想情况下,我希望我的控制器在模块级别被限定.所以我修改了上面的代码

main.js

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

接着…

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

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

但是,以这种方式检索模块似乎不起作用.我做错了吗?

引导应用程序后,无法创建控制器.见 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相关文章