【发布时间】:2023-04-10 06:03:01
【问题描述】:
我正在尝试在控制器之间共享数据,但是一旦在我的服务中设置了数据,它就不会再次更改。
理念
我有一页我称之为coupons的项目,点击coupons中的一个项目会将您带到一个single-coupon。当我单击 coupons 中的项目时,我想将项目数据保存在服务中,以便我可以在 single-coupon
中访问它服务
.service('userService', function() {
var userService = this;
userService.sharedObject = null;
})
CouponsCtrl 中的一些代码
.controller('CouponsCtrl', function($scope, $state, userService) {
$scope.couponClick = function(coupon) {
userService.sharedObject = coupon;
$state.go('single-coupon');
}
})
问题
第一次可以正常使用,但如果我返回 coupons 并单击新的优惠券项目,则 single-coupon 页面仍会显示旧的数据!我需要做些什么不同的事情?
【问题讨论】:
-
我看不到您将
userService服务注入控制器的位置。 -
我刚刚添加了那部分。它看起来像:.controller('CouponsCtrl', function($scope, $state, userService)
-
我不肯定这是个问题,但我习惯于看到服务返回一个对象。就像一个对象,其属性是共享对象
return userService;? -
声明
userService.sharedObject = {};而不是null -
您是如何将
sharedObject与您的视图绑定的?
标签: angularjs ionic angular-services