解析查询然后在解析后更改状态
Parse query then state change after resolve
我定义了一个工厂来进行在完成时解析的解析调用。
.factory('currentRestaurantService', ['$rootScope', '$q', function($scope, $q) {
return {
getCurrentRestaurant: function() {
var defer = $q.defer(); // Create a deferring object
$scope.currentUser = Parse.User.current();
// Get restaurant for user
var restaurantObject = Parse.Object.extend("Restaurant");
var query = new Parse.Query(restaurantObject);
var thisUsersRestaurants = query.equalTo("user", $scope.currentUser);
thisUsersRestaurants.find().then(function(restaurants) {
defer.resolve($scope.restaurants);
});
return defer.promise; // Create an Angular promise to be resolved
}
};
}])
我在我的一个州的解决块中进行调用,希望在转到销售页面之前解决。
.state('dashboard.sales', {
url: '/sales',
templateUrl: './app/dashboard/partials/sales/sales.html',
controller: 'DashboardSalesCtrl',
resolve: {
currentRestaurant: function() { return currentRestaurantService.getCurrentRestaurant(); }
}
})
我不明白为什么这不起作用。过去一周我一直在用头撞墙,想不通。我的代码有什么问题?
在 resolve currentRestaurant
函数中使用它之前,你应该先注入 currentRestaurantService
依赖。
代码
.state('dashboard.sales', {
url: '/sales',
templateUrl: './app/dashboard/partials/sales/sales.html',
controller: 'DashboardSalesCtrl',
resolve: {
currentRestaurant: function(currentRestaurantService) { //added dependency in function
return currentRestaurantService.getCurrentRestaurant();
}
}
})
我定义了一个工厂来进行在完成时解析的解析调用。
.factory('currentRestaurantService', ['$rootScope', '$q', function($scope, $q) {
return {
getCurrentRestaurant: function() {
var defer = $q.defer(); // Create a deferring object
$scope.currentUser = Parse.User.current();
// Get restaurant for user
var restaurantObject = Parse.Object.extend("Restaurant");
var query = new Parse.Query(restaurantObject);
var thisUsersRestaurants = query.equalTo("user", $scope.currentUser);
thisUsersRestaurants.find().then(function(restaurants) {
defer.resolve($scope.restaurants);
});
return defer.promise; // Create an Angular promise to be resolved
}
};
}])
我在我的一个州的解决块中进行调用,希望在转到销售页面之前解决。
.state('dashboard.sales', {
url: '/sales',
templateUrl: './app/dashboard/partials/sales/sales.html',
controller: 'DashboardSalesCtrl',
resolve: {
currentRestaurant: function() { return currentRestaurantService.getCurrentRestaurant(); }
}
})
我不明白为什么这不起作用。过去一周我一直在用头撞墙,想不通。我的代码有什么问题?
在 resolve currentRestaurant
函数中使用它之前,你应该先注入 currentRestaurantService
依赖。
代码
.state('dashboard.sales', {
url: '/sales',
templateUrl: './app/dashboard/partials/sales/sales.html',
controller: 'DashboardSalesCtrl',
resolve: {
currentRestaurant: function(currentRestaurantService) { //added dependency in function
return currentRestaurantService.getCurrentRestaurant();
}
}
})