小编rel*_*ude的帖子

angularjs $ routeProvider路由在resolve完成之前执行

我希望在运行实际路由代码之前触发route.resolve方法.不幸的是,在下面的代码中,prime()被调用,但是它被异步调用,并且在素数完成之前调用路由代码.我认为路由的解决方法是在加载路由之前完成的?

(function () {
'use strict';

var app = angular.module('app');

// Collect the routes
app.constant('routes', getRoutes());

// Configure the routes and route resolvers
app.config(['$routeProvider', 'routes', routeConfigurator]);
function routeConfigurator($routeProvider, routes) {

    routes.forEach(function (r) {
        setRoute(r.url, r.config)

    });

    $routeProvider.otherwise({ redirectTo: '/' });

    function setRoute(url, definition) {
        //set resolvers for all of the routes
        //by extending any existing resolvers (or creating a new one)
        definition.resolve = angular.extend(definition.resolve || {}, {
             prime: prime
        });


        $routeProvider.when(url, definition);
        return $routeProvider;
    }


}

prime.$inject = ['datacontext'];

function …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-routing

9
推荐指数
1
解决办法
1054
查看次数

标签 统计

angularjs ×1

angularjs-routing ×1

javascript ×1