Javascript (howler js) 如何将child 属性 传给parent?
Javascript (howler js) How to pass child property to parent?
大家好,我是 Javascript 的新手,如果这是一个愚蠢的问题,请原谅我。我一直在尝试 google 这个,有人说要使用 super() 但我收到未定义的错误。
我正在使用 howlerJS。我的目标不是在每次实例化新的 Howl 时重写相同的 'onend' listener/function。
class ChildHowl extends Howl{
...how can i insert 'onend' prop here?...
}
var myHowl = new ChildHowl({
src: ['audio.wav'],
// how to move this onend to ChildHowl as a default
onend: function() {
console.log('audio ended');
.... some stuff ....
}
});
提前谢谢大家。非常感谢您的理解和考虑。
更新:已修复,感谢 Fabien Auréjac 的帮助!
class ChildHowl extends Howl{
constructor(obj) {
let onend=function() {
console.log('audio ended');
};
super({ src:obj.src, onend:onend });
}
}
var myHowl = new ChildHowl({
src: ['audio.wav']
});
欢迎,您可以通过super()传递参数;为了让 parent class 的构造函数接收它。
class Howl {
constructor(obj) {
console.log(obj);
this.src = obj.src;
this.onend = obj.onend;
}
}
class ChildHowl extends Howl{
constructor(obj) {
super(obj);
this.onend();
}
}
var myHowl = new ChildHowl({
src: ['audio.wav'],
onend: function() {
console.log('audio ended');
}
});
大家好,我是 Javascript 的新手,如果这是一个愚蠢的问题,请原谅我。我一直在尝试 google 这个,有人说要使用 super() 但我收到未定义的错误。
我正在使用 howlerJS。我的目标不是在每次实例化新的 Howl 时重写相同的 'onend' listener/function。
class ChildHowl extends Howl{
...how can i insert 'onend' prop here?...
}
var myHowl = new ChildHowl({
src: ['audio.wav'],
// how to move this onend to ChildHowl as a default
onend: function() {
console.log('audio ended');
.... some stuff ....
}
});
提前谢谢大家。非常感谢您的理解和考虑。
更新:已修复,感谢 Fabien Auréjac 的帮助!
class ChildHowl extends Howl{
constructor(obj) {
let onend=function() {
console.log('audio ended');
};
super({ src:obj.src, onend:onend });
}
}
var myHowl = new ChildHowl({
src: ['audio.wav']
});
欢迎,您可以通过super()传递参数;为了让 parent class 的构造函数接收它。
class Howl {
constructor(obj) {
console.log(obj);
this.src = obj.src;
this.onend = obj.onend;
}
}
class ChildHowl extends Howl{
constructor(obj) {
super(obj);
this.onend();
}
}
var myHowl = new ChildHowl({
src: ['audio.wav'],
onend: function() {
console.log('audio ended');
}
});