Я хочу создать два отдельных экземпляра из службы, как в this plunkr.AngularJS: Создание многоуровневых заводов из службы
Но, похоже, они делят своих членов. Что я делаю не так?
angular.module("App", [])
.service("service", function() {
var $this = this;
this.number = 1;
var getNumber = function() { return $this.number; }
var setNumber = function(n) { $this.number = n; }
this.build = function() {
return {
getNumber: getNumber,
setNumber: setNumber
}
}
}
})
.factory('fac1', function(service) {
return service.build();
})
.factory('fac2', function(service) {
return service.build();
})
Доступ к свойствам объекта с помощью [] не рекомендуется, если только вы не помещаете внутри [] переменную. – m0meni
Я получаю 'не могу получить доступ к члену undefined' при попытке использовать' this' в функции – Wonko
@Wonko Не используйте '$ this'. Используйте 'this' напрямую. – georgeawg