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