我很好奇我可以调用扩展类并让它仍然导入它需要的东西。
欢迎课程:
import { ErrorLevel } from './error-level.js';
export class Welcome extends ErrorLevel {
constructor() {
super();
}
}
错误级别类:
import { Notification } from 'aurelia-notification';
export class ErrorLevel {
static inject() {
return [Notification];
}
constructor(notification) {
this.notification = notification;
}
}
我知道一旦调用super()
,它将调用扩展类并传入0个参数。当我调用super()
时,我的ErrorClass构造函数是否有办法提取通知?
答案 0 :(得分:0)
super([arguments]); // calls the parent constructor.
super.functionOnParent([arguments]);
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/super
在Welcome的super
函数中传递一个参数,用该参数调用父类构造函数。您将看到this
的日志包含通知,该通知设置为我们传递给super的参数。
http://jsbin.com/raguqopesu/1/edit?js,console,output
class ErrorLevel {
constructor(notification) {
this.notification = notification;
}
}
class Welcome extends ErrorLevel {
constructor() {
super(Notification);
console.log(this);
}
}
const yo = new Welcome();
答案 1 :(得分:0)
export class Welcome extends ErrorLevel {
constructor(notification) {
super(notification);
}
}