Aurelia class 继承自定义元素
Aurelia class inheritance with custom elements
我是 Aurelia 的新手,正在尝试对自定义元素使用继承:
base.js
import {bindable, inject} from 'aurelia-framework';
@inject(Element)
export class BaseCustomElement {
list = [1]
constructor() {
console.log(this.list)
}
}
control1.js
import {bindable, inject} from 'aurelia-framework';
import {BaseCustomElement} from 'base';
@inject(Element)
export class Control1CustomElement extends BaseCustomElement{
list = [1,3]
constructor() {
super()
}
}
我哪里错了?
在这里使用 extends
而不是 extend
:
export class Control1CustomElement extend BaseCustomElement{
如果没有更多细节,就不可能知道问题出在哪里,但我猜它与列表的内容有关 - 但是,无论如何,作为第一个猜测
- 从基础中删除“@inject(Element)”class
- 将'element'添加到基础class和控件class
的构造函数中
- 从 control1 构造函数调用 super(element)
- 可以在 super(...) 调用之后将 'this.list = [1, 3];' 放入 control1 的构造函数中,并接受基础 class 中的 this.list 只有一个元素,直到子 class 构造函数已完成。
- ...或...将新列表内容添加为两个构造函数的参数,并将其传递给 super(...) 调用中的基 class。
不知道这是否会解决 'unexpected behaviour' 虽然我们不知道你在期待什么...
我是 Aurelia 的新手,正在尝试对自定义元素使用继承:
base.js
import {bindable, inject} from 'aurelia-framework';
@inject(Element)
export class BaseCustomElement {
list = [1]
constructor() {
console.log(this.list)
}
}
control1.js
import {bindable, inject} from 'aurelia-framework';
import {BaseCustomElement} from 'base';
@inject(Element)
export class Control1CustomElement extends BaseCustomElement{
list = [1,3]
constructor() {
super()
}
}
我哪里错了?
在这里使用 extends
而不是 extend
:
export class Control1CustomElement extend BaseCustomElement{
如果没有更多细节,就不可能知道问题出在哪里,但我猜它与列表的内容有关 - 但是,无论如何,作为第一个猜测
- 从基础中删除“@inject(Element)”class
- 将'element'添加到基础class和控件class 的构造函数中
- 从 control1 构造函数调用 super(element)
- 可以在 super(...) 调用之后将 'this.list = [1, 3];' 放入 control1 的构造函数中,并接受基础 class 中的 this.list 只有一个元素,直到子 class 构造函数已完成。
- ...或...将新列表内容添加为两个构造函数的参数,并将其传递给 super(...) 调用中的基 class。
不知道这是否会解决 'unexpected behaviour' 虽然我们不知道你在期待什么...