动态ui路由器与ocLazyLoad问题

时间:2015-09-27 03:16:46

标签: angularjs dynamic angular-ui-router oclazyload

受到Jason Watmore的AngularJS示例项目的启发,决定试用其中的州提供商。它变得成功了。下一次尝试是尝试ocLazyLoad,并且在app.config中提供配置时也是如此。然后尝试从json文件加载状态配置。以下教程有助于理解这些概念。

AngularJS - UI-router - How to configure dynamic views

Dynamic ui-router with ocLazyLoad using multiple modules in resolve

但是找不到成功。请检查下面的plunker链接,并帮助我知道我可能犯过的错误。

http://plnkr.co/edit/eyantFVBs8e1L68gWzSi

(function () {
'use strict';

var $urlRouterProviderRef = null,
    $stateProviderRef = null
angular
    .module('app', ['ui.router', 'ngCookies', 'oc.lazyLoad'])
    .config(config)
    .run(run);

config.$inject = ['$stateProvider', '$urlRouterProvider', '$ocLazyLoadProvider', '$locationProvider'];

function config($stateProvider, $urlRouterProvider, $ocLazyLoadProvider, $locationProvider) {

    $urlRouterProviderRef = $urlRouterProvider;
    $locationProvider.html5Mode(false);
    $stateProviderRef = $stateProvider;


}

run.$inject = ['$state', '$rootScope', '$location', '$cookieStore', '$http', '$ocLazyLoad'];

function run($state, $rootScope, $location, $cookieStore, $http, $ocLazyLoad) {

    $http.get("route-config.json")
        .success(function (data) {
            angular.forEach(data, function (value, key) {
                var state = {
                    "url": value.url,
                    "parent": value.parent,
                    "abstract": value.abstract,
                    "controller":value.controller,
                    "templateUrl": value.templateUrl,
                    "resolve": {}
                };



                state.resolve[value.dependencies.module] = function ($ocLazyLoad) {
                    return $ocLazyLoad.load(result)
                };


                $stateProviderRef.state(value.name, state);
            });
            $state.go("login");
        });
}
})();

以下是我正在尝试加载的JSON

[
{
    "name": "login",
    "url": "/login",
    "abstract": "",
    "parent": "",
    "controller": "LoginController as vm",
    "templateUrl": "login/login.view.html",
    "resolve": {},
    "dependencies": {
        "module": "login",
        "files": [
                    "login/login.controller.js",
                    "app-services/authentication.service.js",
                    "app-services/flash.service.js",
                    "app-services/user.service.local-storage.js"
                 ]
    }

}
]

0 个答案:

没有答案