У меня есть функция, как показано ниже, и у меня проблема из-за контекста this
. Когда я запускаю свой код, в моей консоли появляется ошибка: Cannot set property 'cat' of undefined
Когда я меняю this.cat
на $scope.cat
, все нормально. Я попытался добавить $ scope.apply и timeout, но это не работает. Кажется, что это изменение контекста, но я не знаю, как его исправить.
(function () {
angular.module('test.module')
.component('testComponent', {
bindings: {},
templateUrl: 'js/modules/test/test.html',
controllerAs: 'vm',
controller: (TestService, $scope) => {
TestService.changed(() => {
const testValue = test.findById(id)
if (testValue && testValue.data) {
this.cat = testValue.data
}
})
}
})
})()