、あなたの質問にを参照してください。「共有」のコードでは、共有のための本当に適していないとする、カスタム要素でライフサイクルに関連するものです。あなたは継承をする必要があり、多くの頭痛のために自分自身を設定しているカスタム要素で行う必要があります。
コードを共有するのではなく、可変なものに焦点を当てて、それらを構成可能にしようとしないでください。あなたの要点を見て、それはここで最も簡単な解決策と思われます。
プロパティが変更されたときに関数を呼び出すカスタム要素があるとします。この関数は、要素のいくつかのインスタンスでは異なる必要があります。あなたはそうのように、結合可能な機能とそれを達成し、行動は.callを使用することができます。
一部-element.js
import { bindable } from 'aurelia-framework';
export class SomeElement {
@bindable value;
@bindable processValue;
valueChanged(newValue, oldValue) {
if (this.processValue) {
this.processValue({ val: newValue });
}
}
}
consumer.html
<some-element value.bind="myValue" process-value.call="myFunc(val)"></some-element>
<some-element value.bind="anotherValue" process-value.call="anotherFunc(val)"></some-element>
consumer.js
myFunc(val) {
console.log("val: " + val);
}
anotherFunc(val) {
console.log("val: " + val);
}
質問に関連するコードを含めることはできますか? –