【问题标题】:bootstrap to use multiple ng-app引导使用多个 ng-app
【发布时间】:2014-02-20 17:45:11
【问题描述】:

我按照AngularJS Multiple ng-app within a page中的代码进行操作

我不知道我错过了什么。

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

reviewApp.controller("reviewCtrl",
                     function ShippingAddressCtrl($scope, $http) {
    $scope.name='leo1';
});

reviewApp2.controller("productController",
                     function ProductController($scope, $http) {
    $scope.name1='leo2';
});
angular.bootstrap(document.getElementById("div2"),['reviewApp2']);

http://jsfiddle.net/lordango/X3ZsU/1/

【问题讨论】:

    标签: angularjs


    【解决方案1】:

    当您引导多个应用程序时,您不能多次使用ng-app 属性,angular 会在标记中获取第一个并自动引导它,所有其他ng-apps 将被忽略,您必须手动引导它们

    var reviewApp = angular.module("reviewApp", []);
    var reviewApp2 = angular.module("reviewApp2", []);
    
    reviewApp.controller("reviewCtrl",
                         function ShippingAddressCtrl($scope, $http) {
        $scope.name='leo1';
    });
    
    reviewApp2.controller("productController",
                         function ProductController($scope, $http) {
        $scope.name1='leo2';
    });
    angular.element(document).ready(function() {
        angular.bootstrap(document.getElementById("div1"),['reviewApp']);
        angular.bootstrap(document.getElementById("div2"),['reviewApp2']);
    });
    

    html

    <div id="div1">
    <div ng-controller="reviewCtrl">{{name}}</div>
    </div>
    
    <div id="div2">
    <div ng-controller="productController">{{name1}}</div>
    </div>
    

    【讨论】:

    • 不完全正确。您可以在页面上自动引导一个应用程序。我认为问题在于将角度添加到小提琴文档头部的方式。您的 sn-p 引导文件准备就绪,因此可以解决问题。
    • 我指出,在引导多个应用程序时,答案是“你不能使用 ng-app 属性”。您可以使用一次 ng-app。
    • 是的,你是对的,但我认为在不同的地方引导应用程序不是一个好习惯。但我会编辑答案,谢谢
    • 我现在明白了。引导就像手动将 Angular 应用程序附加到标记。如果我错了,请纠正我,但由于尚未创建元素并且 angular 尝试引导应用程序,因此将脚本放在头部会失败吗?
    • angular.js 中的@doodeec ng-app 何时触发?当所有脚本都加载完毕?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-06
    • 2013-09-05
    • 1970-01-01
    • 2016-09-07
    • 1970-01-01
    相关资源
    最近更新 更多