我有一个链接,我想用它来将数据传递到另一个页面。我可以访问我访问的页面上的服务,但数据是空的。角度服务丢失新控制器中的设置数据
的HTML:
<a href="/signup" ng-click="saveSubscriptionData()"">Female</a>
服务:
var app = angular.module('boxHome', []);
app.controller('boxHomeController', function ($scope, SubscriptionService) {
$scope.saveSubscriptionData = function() {
SubscriptionService.gender = 'male';
SubscriptionService.subscription = 'infant';
console.log(SubscriptionService);
}
});
app.factory('SubscriptionService', function() {
return {
gender: '',
subscription: ''
};
});
以上日志语句返回性别: '男' 和订阅: '婴儿'。
我链接到页面:
var appSignup = angular.module('boxSignup', ['boxHome']);
appSignup.controller('boxSignupController', function ($scope, SubscriptionService) {
$scope.init = function (domainId) {
console.log(SubscriptionService);
};
});
我希望上面的日志语句返回性别:“男”和订阅:“婴儿”。它返回性别:''和订阅''。
任何想法?
是您的应用程序中的SPA - 如果不是,重新加载页面将清除您的服务每次。 – tymeJV
不,不是。你将如何处理? –
阅读角度路由,以及Angular SPA教程中的一些文章。 (他们会比我更好地解释) - 如果您不想采用SPA方式 - 您必须将数据存储在本地存储中并获取每次加载。 – tymeJV