让$ watch触发对象中的其他功能

时间:2014-08-01 14:41:09

标签: javascript angularjs angularjs-scope watch

我希望有一个对象可以使用$ watch监听它的某些部分,但是每当触发监视时再调用另一个成员函数。我不确定我目前接近它的方式是否会提供任何可能的解决方案:

  Foo.prototype.onChange = function onChange() {
      console.log(this);
  };

  Foo.prototype.addWatch = function addWatch() {
    $rootScope.$watch(bind(this, function() {
      return this.varsToWatch[someArbitraryWatchedVar];
    }) , this.onChange, true);
  };  

当我在Foo中的正常函数内调用onChange时,控制台日志的输出为Foo {...correct object...}但是当addWatch触发它时,控制台会记录Object {fn: function, last: "asdf", get: function, exp: function, eq: true},这与{ {1}}对象。我希望能够通过Foo来电来调用onChange并操纵我的Foo对象!

0 个答案:

没有答案