如何在加载所有脚本时初始化角度

时间:2015-03-31 07:18:44

标签: javascript jquery angularjs

您好我是角度和html编程的新手。我正在尝试使用我的html文档中的命令初始化我的角度应用程序。

<script type="text/javascript">
    angular.element(document).ready(function () {
        angular.bootstrap(document, ['MyApp']);
    });
</script>

当我不必从单独的服务器下载脚本时,这在本地工作,但是当我这样做时,我会收到错误。

Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.3.14/$injector/modulerr?p0=MyApp&p1…gleapis.com%2Fajax%2Flibs%2Fangularjs%2F1.3.14%2Fangular.min.js%3A17%3A381)

我假设这是因为在执行此调用之前未加载脚本。所以我想知道是否有任何命令可以用来在加载所有脚本时运行我的引导代码。 Window.onload或$(document).ready对我不起作用:(

这是我的模块声明

angular.module("myApp", ["ui.router"])
    .config(["$locationProvider", ($locationProvider: any) => {
        $locationProvider.html5Mode(false).hashPrefix('!');
    }])
    .config(["$stateProvider", "$urlRouterProvider",
        ($stateProvider: any,
            $routeProvider:any
            ) => {
            $stateProvider
                .state("myapp",
                {
                    url: '/:path',
                    templateUrl: (stateParams) => {
                        return '/Templates?path=' + stateParams.path;
                    },
                })
        }])
    .run(["$rootScope", "$state", ($rootScope, $state) => {
        $rootScope.$on("$stateChangeStart", (event, next, current) => {
        })
        $rootScope.$on("$stateChangeSuccess", function (ev, to, toParams, from, fromParams) {
        });
        $state.go("myapp", { path: 'MyApp.Session' });

    }]);

任何帮助都将不胜感激。

由于

1 个答案:

答案 0 :(得分:0)

您需要在引导程序之前定义模块:

<script type="text/javascript">
    var LeadInsightsApp = angular.module('LeadInsightsApp',[]);
    angular.element(document).ready(function () {
        angular.bootstrap(document, ['LeadInsightsApp']);
    });
</script>