Angular 1.6,ui.router問題。我遇到了一個國家決心的問題。任何時候我把解析特性放入$ stateProvider中,我的視圖中都沒有呈現。如果我僅僅註釋瞭解決方案部分,我的出價變量會在硬編碼值的視圖中顯示出來。Angular Resolve Not Loading
看起來/bids.json有我需要的,因爲如果我跑console.log($http.get('/sales.json'))
沒有解決的狀態,在我的控制器,它返回下列數據:
$$狀態:對象>值:對象>數據:數組[2]> 0:對象 量: 「45342」 貨幣 「USD」
哪裏是在下面的代碼的錯誤?
angular.module('salesApp', ['ui.router', 'templates'])
.config([
'$locationProvider',
'$stateProvider',
'$urlRouterProvider',
function($locationProvider, $stateProvider, $urlRouterProvider) {
$locationProvider.html5Mode({
enabled: false
});
$locationProvider.hashPrefix('');
$stateProvider
.state('sales', {
url: '/home',
templateUrl: 'home/_home.html',
controller: 'MainCtrl',
resolve: { //whenever I enable this, nothing renders in view
postPromise: ['sales', function(salesReturned){
var al = salesReturned.getSales('/sales.json');
}]
}
});
$urlRouterProvider.otherwise('home');
}])
.factory('sales', ['$http', function($http){
var o = {
sales:[
{currency: 'USD', amount: 5},
{currency: 'USD', amount: 5}
]
};
o.getSales = function(JSONurl) {
return $http({method: 'GET', url: JSONurl}).success(function(data){
angular.copy(data, o.sales);
});
};
return o;
}])
.controller('MainCtrl', [
'$scope',
'sales',
'$http',
function($scope, sales, $http){
$scope.sales = sales.sales;
}
])
'postPromise'不返回任何 – charlietfl
我很困惑,當我去掉包含「postPromise」沒有決心在斜視渲染,甚至沒有'
你好
'如果我把它拿出來,那麼hello world和硬編碼的'bids'變量呈現 – HoosierCoder路由器正在等待您的承諾,在呈現狀態視圖之前用值解析。您沒有返回已解決的值,因此它不會呈現 – Phil