首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类语法中的$watch无法工作

类语法中的$watch无法工作
EN

Stack Overflow用户
提问于 2017-03-16 07:46:24
回答 1查看 62关注 0票数 0

当页面使用以下代码加载时,手表才首次工作:

代码语言:javascript
复制
import angular from 'angular';

import '../style/app.css';

class AppCtrl {

  constructor($scope) {
    this.url = 'https://github.com/preboot/angular-webpack';
    this.val = 0;
    this.even = true;
    this.scope = $scope;    
    this.scope.$watch('val', this.valChanged());

  }

  inc() {
    this.val++;
    this.even = this.val % 2 == 0 ? true : false;     
  }

  valChanged(newVal, oldVal) {
    console.log('changed');
  }
}

AppCtrl.$inject = ['$scope'];

const MODULE_NAME = 'app';

angular.module(MODULE_NAME, [])
  .controller('AppCtrl', AppCtrl);

export default MODULE_NAME;

每当我单击调用inc()方法的按钮时,都会更新值,但不会触发valChanged方法。

使用angularjs诉1.5

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-16 07:49:59

代码语言:javascript
复制
this.scope.$watch(() => this.val, 
                 (newVal, oldVal) => this.valChanged(newVal, oldVal));
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42828069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档