这在$ watch中未定义

时间:2019-02-11 14:40:27

标签: angularjs

我有一个观察者:

this.$scope.name = this.$state.current.name;
this.$scope.$watch(name, function () {
    this.selectedTabIndex = this.$scope.getSelectedTabIndex();
});

代码运行时:

  

无法读取未定义的属性'$ scope'

如何在this内部使用$watch

1 个答案:

答案 0 :(得分:2)

我相信您想使用箭头功能,因为functionthis创建了自己的作用域。

this.$scope.name = this.$state.current.name;
this.$scope.$watch(name, () => {
    this.selectedTabIndex = this.$scope.getSelectedTabIndex();
});