Angularjs 使用resolve不会更改状态:Angular ui router
我使用angular ui路由器,在启动控制器之前获取数据,我使用resolveAngularjs 使用resolve不会更改状态:Angular ui router,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我使用angular ui路由器,在启动控制器之前获取数据,我使用resolve .state('Equipment', { url: "/equipment", templateUrl: "/Scripts/app/equipment/templates/content.html", resolve: { equipmentService: 'Equipmen
.state('Equipment', {
url: "/equipment",
templateUrl: "/Scripts/app/equipment/templates/content.html",
resolve: {
equipmentService: 'EquipmentService',
data: function (equipmentService) {
return equipmentService.getEquipment().$promise;
}
},
controller: 'EquipmentController'
})
我在做设备维修
resource.equipment.getEquipment().$promise.then(function (response) {
_equipment.collection = _.map(response.data, function (item) {
var obj = {
id: item.id,
name: item.name,
groupId: item.equipmentGroupId,
groupName: item.equipmentGroupName,
description: item.description
}
return obj;
});
return _equipment.collection;
});
从服务器响应时,服务对象得到更新,但状态不变,控制器也不会启动
如果我把它换成
return resource.equipment.getEquipment();
现在,启动服务器响应控制器
但服务并没有这样做,因为我正在使用服务在控制器之间共享数据。我必须更新服务对象文字
谁能帮我一下我做错了什么我想这里有一个更好的选择。一旦从服务器检索到数据,就可以将此服务用作模型,并为此在服务中定义一个变量(属性)。检查下面的问题 那个解决方案对你们有用吗?我不想让服务解决它的承诺,完成后我应该能够改变状态。在您提供的答案中,我必须将所有代码从服务移动到解决方案。我认为您不理解我的代码。我的决心也一样。这是你需要寻找的服务变化。