【发布时间】:2018-10-24 12:02:18
【问题描述】:
我按照
的教程创建了一个AngularJS工厂https://medium.com/opinionated-angularjs/angular-model-objects-with-javascript-classes-2e6a067c73bc
问题是,没有创建新对象,并且值已更新为以前的对象,这是我的代码
let t1 = new Transaction({
id : '123'
})
let t2 = new Transaction({
id : '1234'
})
console.log(t1.getId()) // Suppose to get 123 but getting 1234
console.log(t2.getId()) // Getting 1234
这是我的工厂:
.factory('Transaction',function(){
let _data = {};
Transaction.prototype.getId = getId
function Transaction(params) {
_data.id = params.id ? params.id : '';
}
function getId() {
return _data.id;
}
return Transaction
});
在t1.getId() 下,我想得到'123',但我得到的是'1234'。
【问题讨论】:
-
我认为你不需要将它初始化为一个类。工厂是singleton,只要注入它,就可以访问它的方法、变量:
let t = Transactions.getId()
标签: javascript angularjs oop