在我的角度樣的路線,我試圖做的事:解決角UI路由器
(function(angular){
'use strict';
angular
.module('appRouter',['ui.router'])
.controller('routerCtrl',function(myResolveServ,resolveData){
console.log(resolveData);
})
.service('myResolveServ',function($http){
this.getResolveData = function($http){
var root = 'https://jsonplaceholder.typicode.com';
return $http.get(root+'/posts/1').then(function(response){
return response.data;
});
}
})
.config(function($stateProvider,$urlRouterProvider){
$stateProvider
.state('settings.profile',{
url:'/profile',
templateUrl:'templates/profile.html'
})
.state('settings.account',{
url:'/account',
templateUrl:'templates/account.html',
controller:'routerCtrl',
controllerAs:'vm',
resolve:{
resolveData :function(myResolveServ){
var data = myResolveServ.getResolveData();
}
}
});
$urlRouterProvider.otherwise('/settings/profile');
});
})(window.angular);
但這代碼不起作用。我無法導航到帳戶頁面URL /settings/account
。
錯誤在控制檯中不明顯。
我在做什麼錯?
UPDATE
我知道這個工程:
resolve:{
resolveData : function($http){
var root = 'https://jsonplaceholder.typicode.com';
return $http.get(root+'/posts/1').then(function(response){
return response.data;
});
}
}
您說'去URL /設置/帳戶' - 那究竟是什麼? settings.account是狀態,它的URL是/ account,所以哪一個是/ settings/account? – rrd