我将AngularJs应用更新到v1.7.8,并更新到最新的ui-router版本1.0+。关于解决问题,有些事情不再起作用。
除非特别需要,否则我并不急于更改我的内容以使用此处显示的.component内容。这是我的代码:
路由器:
angular
.module('admin')
.config(routeConfigFn);
routeConfigFn.$inject = ['$stateProvider', 'termParameters', '$compileProvider' ];
function routeConfigFn($stateProvider, termParameters, $compileProvider) {
$stateProvider
.state('admin', {
url: '/list/:dataset',
views: {
'mainContent' : {
templateUrl: '/app/admin/index.tpl.html',
controller: 'admin.index.controller',
controllerAs: 'vm',
},
'sidebarRight': {
templateUrl: '/app/admin/sidebarRight.tpl.html',
controller: 'admin.widget.controller',
controllerAs: 'vm',
resolve: {
myResolver: function() {
return 'just testing';
}
}
}
}
})
}
在我的控制器中:
angular
.module('admin')
.controller('admin.widget.controller', adminWidgetControllerFn);
adminWidgetControllerFn.$inject = [
'$stateParams',
'termParameters',
'$state',
'myResolver'
];
function adminWidgetControllerFn($stateParams, termParameters, $state, myResolver) {
var vm = this;
console.log(myResolver);
}
至少在我所知的范围内,这对路由器的解析功能都没有真正的保证。上面的示例抛出了一个
Unknown provider: myResolverProvider <- myResolver <- admin.widget.controller
例外。有人知道如何解决这个问题吗?非常感谢!