Angularjs 角度分辨率不加载
角度1.6,用户界面。路由器问题。我遇到了一个国家决心的问题。只要我将resolve功能放入$stateProvider,视图中就不会呈现任何内容。如果我只注释了resolve部分,那么bids变量将显示在视图中,并带有硬编码的值 它看起来像/bids.json有我需要的数据,因为如果我在控制器中运行Angularjs 角度分辨率不加载,angularjs,Angularjs,角度1.6,用户界面。路由器问题。我遇到了一个国家决心的问题。只要我将resolve功能放入$stateProvider,视图中就不会呈现任何内容。如果我只注释了resolve部分,那么bids变量将显示在视图中,并带有硬编码的值 它看起来像/bids.json有我需要的数据,因为如果我在控制器中运行console.log($http.get('/sales.json'))而不使用解析状态,它将返回以下内容: $$state:Object>value:Object>data:Array[2]>0
console.log($http.get('/sales.json'))
而不使用解析状态,它将返回以下内容:
$$state:Object>value:Object>data:Array[2]>0:Object
金额:“45342”货币:“美元”
下面代码中的错误在哪里
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;
}
])
resolve属性
postPromise
是一个数组。我觉得这很奇怪。它大概应该是这样的:
postPromise: function(bidsReturned){
return bidsReturned.getBids('/bids.json');
}
如果要传递数组以确保代码在缩小后正确工作,则可能需要使用不同的技术。参见示例。希望这能帮人们省去一些麻烦:
.success(函数(数据)
在angular 1.6中已被弃用。需要使用。然后(函数successCallback(响应)
相反,per:newpostPromise
不会返回任何东西我很困惑,当我取消注释包含“postPromise”的解析时,角度视图中不会呈现任何内容,甚至hello
如果我取出它,那么hello world和硬编码的bids
变量呈现路由器正在等待您的承诺在呈现状态视图之前使用值进行解析。您没有返回解析的值,因此它永远不会呈现。此外,您的sales
提供商也没有getBids
方法在下面找到答案。代码按照angular 1.5的要求是正确的。但是,我使用的是1.6。我们应该向上投票,这可以节省一些主要的麻烦。实现了您的sugg估计仍然不起作用。此解析技术基于:。这很奇怪,因为我在angular 1.5上有一个不同的应用程序以这种方式工作,但由于某些原因,此应用程序失败。创建一个代码笔或plnkr来演示您的问题。然后我们可以提供更好的帮助。此答案将无法缩小。OP使用DI注释更正了LYC正确-它将无法缩小,但我们正试图缩小问题的原因。事实上,用新的眼光看一看。很明显,该函数没有返回任何内容。