我希望有一个对象可以使用$ 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
对象!