我想在一个正在使用的变量上使用观察者,这是我的代码:
const get = Ember.get;
uploader:Ember.inject.service('uploader'),
progressChanged: Ember.observer(this.get('uploader').get('progress'), function() {
console.log('observer is called', this.get('uploader').get('progress'));
}),
这是错误:
处理路径时出错:index this.get不是函数
当我试图在警报中显示进度时:
actions:
{
getProgress()
{
alert("progress:"+this.get('uploader').get('progress'));
}
}
一切正常,但不是观察者。我该怎么办?
答案 0 :(得分:1)
url
avito.ru/mytischi/telefony/sim_karty_s_nulevym_balansom_bonus_689217820
avito.ru/moskva/blackberry_z10_714072090
avito.ru/moskva/telefony/blackberry_bold_new_rost-test_original_697592392
avito.ru/moskva/telefony/blackberry_bold_blask_new_e._a._c._rost-test_696289049
avito.ru/moskva/blackberry_z30_lte_4g_714023258
vk.com
上下文无效。像Kitler建议的那样,下面应该可以解决你的问题。
url
avito.ru/mytischi/telefony/sim_karty_s_nulevym_balansom_bonus_689217820
avito.ru/moskva/telefony/blackberry_bold_new_rost-test_original_697592392
avito.ru/moskva/telefony/blackberry_bold_blask_new_e._a._c._rost-test_696289049
vk.com
我建议不要过度使用观察者,你可以尝试使用计算属性。如果您只是想单独显示进度,那么您不需要观察者,只需使用this
或import Ember from 'ember';
export default Ember.Component.extend({
uploader:Ember.inject.service(),//if service name is uploader
progressChanged: Ember.observer('uploader.progress',function() {
console.log('observer is called', this.get('uploader').get('progress'));
}),
});
。
参考:https://guides.emberjs.com/v2.7.0/object-model/observers/