在javascript中从子类回调访问主类属性
Javascript代码 我想在媒体回调函数中使用此.progressbar在javascript中从子类回调访问主类属性,javascript,class,object,Javascript,Class,Object,Javascript代码 我想在媒体回调函数中使用此.progressbar class CatMusicPlayer { constructor(url,playPauseBtn,progressbar,progressTime,durationTime) { this.url = url; this.playPauseBtn = playPauseBtn; this.progressbar = progressbar; this.progressTi
class CatMusicPlayer {
constructor(url,playPauseBtn,progressbar,progressTime,durationTime) {
this.url = url;
this.playPauseBtn = playPauseBtn;
this.progressbar = progressbar;
this.progressTime = progressTime;
this.durationTime = durationTime;
new Media(url,null,this.logerror,function(mediaStatus){
/*
i want to use this.progressbar,
but in this block "this" reffers to Media class.
Media is kind of another class similar to CatMusicPlayer
*/
});
}
将
this
的值缓存到另一个变量,如const\u thisMP=this代码>
然后使用它\u thisMP.progressbar()代码>
或者,您甚至可以直接调用progressbar()
,因为它是可访问的
class CatMusicPlayer {
constructor(url,playPauseBtn,progressbar,progressTime,durationTime) {
this.url = url;
this.playPauseBtn = playPauseBtn;
this.progressbar = progressbar;
this.progressTime = progressTime;
this.durationTime = durationTime;
const _thisMP = this;
new Media(url,null,this.logerror,function(mediaStatus){
_thisMP.progressbar(); // call here
/*
i want to use this.progressbar,
but in this block "this" reffers to Media class.
Media is kind of another class similar to CatMusicPlayer
*/
});
}
谢谢你:)。这很简单。我刚刚开始寻找另一条出路。谢谢:)它工作得很好now@KathanShah很高兴这有帮助。
class CatMusicPlayer {
constructor(url,playPauseBtn,progressbar,progressTime,durationTime) {
this.url = url;
this.playPauseBtn = playPauseBtn;
this.progressbar = progressbar;
this.progressTime = progressTime;
this.durationTime = durationTime;
let self = this;
new Media(url,null,this.logerror,function(mediaStatus){
self.progressbar();
});
}