gpt4 book ai didi

javascript - Ember.js 观察者

转载 作者:行者123 更新时间:2023-12-03 06:16:30 29 4
gpt4 key购买 nike

我想在正在使用的变量上使用观察者,这是我的代码:

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'));
}),

这就是错误:

Error while processing route: index this.get is not a function

当我尝试在警报中显示进度时:

actions:
{
getProgress()
{
alert("progress:"+this.get('uploader').get('progress'));
}
}

一切正常,但在观察者中却行不通。我该怎么办?

最佳答案

上下文无效。就像基特勒建议的那样,下面的内容应该可以解决您的问题。

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'));
}),
});

我建议不要过度使用观察者,你可以尝试使用计算属性。如果您只想单独显示进度,那么您不需要观察者,您可以简单地使用 this.get('uploader.progress') 或通过 Ember.compulated.alias('uploader.progress ').

引用:https://guides.emberjs.com/v2.7.0/object-model/observers/

关于javascript - Ember.js 观察者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39079052/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com