Javascript ngRouter-to-ui路由器
我最近购买了一个angularjs模板,我正在使用它来构建我的应用程序,但是我注意到使用了ngRouter而不是我更喜欢和更熟悉的ui-router 我尝试包括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:
$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路由器也有解析,看文档,实际上只是复制相同的部分,它应该可以工作