Javascript ngRouter-to-ui路由器

Javascript ngRouter-to-ui路由器,javascript,angularjs,asynchronous,angular-ui-router,angularjs-ng-route,Javascript,Angularjs,Asynchronous,Angular Ui Router,Angularjs Ng Route,我最近购买了一个angularjs模板,我正在使用它来构建我的应用程序,但是我注意到使用了ngRouter而不是我更喜欢和更熟悉的ui-router 我尝试包括ui路由器并更改所有路由,但它起了作用,但是我的路由中有一些额外的代码,我仍然不理解,也不知道放在哪里,这是我的仪表板的旧路由: $routeProvider.when("/dashboard", { templateUrl: "views/dashboard.html", resolve: { deps:

我最近购买了一个angularjs模板,我正在使用它来构建我的应用程序,但是我注意到使用了ngRouter而不是我更喜欢和更熟悉的ui-router

我尝试包括ui路由器并更改所有路由,但它起了作用,但是我的路由中有一些额外的代码,我仍然不理解,也不知道放在哪里,这是我的仪表板的旧路由:

$routeProvider.when("/dashboard", {
    templateUrl: "views/dashboard.html",
    resolve: {
        deps: ["$ocLazyLoad", function(a) {
            return a.load([jqload.c3, jqload.sparkline])
            .then(function() {
                return a.load({
                    name: "app.directives",
                    files: ["scripts/lazyload/directives/sparkline.directive.js"]
                })
            })
            .then(function() {
                return a.load("angular-c3");
            })
            .then(function() {
                return a.load("easypiechart");
            })

        }]
    }
});
我将其改为:

.state('admin.dashboard', {
    url: '/dashboard',
    views: {
        'content@': {
            templateUrl: '/_admin/views/dashboard.html',
            controller: 'DashboardCtrl'
        }
    }
正如您所看到的,有很大一部分代码丢失,这会影响我的仪表板的某些功能。我的问题是使用ui路由器resolve中我应该将所有代码放在哪里:

resolve: {
        deps: ["$ocLazyLoad", function(a) {
            return a.load([jqload.c3, jqload.sparkline])
            .then(function() {
                return a.load({
                    name: "app.directives",
                    files: ["scripts/lazyload/directives/sparkline.directive.js"]
                })
            })
            .then(function() {
                return a.load("angular-c3");
            })
            .then(function() {
                return a.load("easypiechart");
            })

        }]
    }

我以前从未遇到过resolve,我对angularjs非常陌生,在切换到ui-router之后,我不知道该如何处理这一部分。resolve属性本质上告诉angularjs,在显示状态之前,它内部的回调必须完成。NgRouter有这个功能,但ui路由器也有

此代码应适用于:

.state('admin.dashboard', {
    url: '/dashboard',
    views: {
        'content@': {
            templateUrl: '/_admin/views/dashboard.html',
            controller: 'DashboardCtrl'
        }
    },
    resolve: {
        deps: ["$ocLazyLoad", function(a) {
            return a.load([jqload.c3, jqload.sparkline])
            .then(function() {
                return a.load({
                    name: "app.directives",
                    files: ["scripts/lazyload/directives/sparkline.directive.js"]
                })
            })
            .then(function() {
                return a.load("angular-c3");
            })
            .then(function() {
                return a.load("easypiechart");
            })

        }]
    }
})

ui路由器也有解析,看文档,实际上只是复制相同的部分,它应该可以工作