【发布时间】:2016-04-25 09:28:01
【问题描述】:
我猜这是一个相当新手的问题,但我自己无法弄清楚。 我正在努力创建一个角度服务,该服务将允许我使用初始值启动一个对象,然后其他控制器将能够使用这个实例。 目前,getter/setter 不工作。另外,在创建对象之前调用了 controller2。
我应该如何正确编写这个服务?
页面(基础)控制器:
vm.user = userService.createNewUser(data); /// init with data
子页面控制器1:
vm.user.userInfo = userService.getUserInfo(); /// getter
子页面控制器2:
userService.setUserInfo(data); /// setter
服务:
(function () {
'use strict';
angular
.module('app.user')
.factory('userService', userService);
function userService() {
return {
createNewUser: function (data) { /// init only once
return new User(data);
},
getUserInfo: function () {
return User.getUserInfo();
},
setUserInfo: function (customer) {
return User.setUserInfo(customer);
}
};
function User(data) { /// ctor
this.XXXX = {
user_code: data.customer.user_code,
user_password: data.customer.user_password
};
this.YYYY = {
//// some vars
}
User.prototype = {
getXXXXUserInfo: function () {
return this.XXXX;
},
setXXXXUserInfo: function (customer) {
this.XXXX.user_code = customer.user_code;
this.XXXX.user_password = customer.user_password;
}
};
}
})();
【问题讨论】:
标签: angularjs