Я создаю провайдера, который переопределяет сеттер и геттер для свойства в $scope
.Поставщик посчитает, сколько раз свойство будет изменено.
Я максимально упросту код, чтобы было легче сосредоточиться на проблеме.
Контроллер
[...]
export default function(myTracker) {
$scope.user = 'test';
mytracker.track($scope, 'user');
}
Поставщик
[...]
export default function myTrackerProvider() {
[...]
this.$get = function() {
var myTracker = {};
myTracker.track = function (scope, reference) {
Object.defineProperty (scope, reference, {
_ref: scope[reference],
get: function() {
return this._ref;
}
});
console.log(scope[reference]);
}
}
Я уверен, что мне нужно использовать другую переменную, такую как _ref
, чтобы избежать циклических вызовов, но я не понимаюпочему это не работает таким образом.Почему после _ref: scope[reference]
, scope[ref]
не определено?
Обновление: если я пытаюсь запустить это, консоль в конце выводит неопределенное значение.