0
A
답변
0
당신이 당신의 질문을 참조 "공유"코드는 라이프 사이클 관련 정말 공유에 적합하지 않는 사용자 정의 요소에 물건을. 당신은 상속을해야 할 것이고, 많은 두통을 겪고있는 커스텀 요소를 가지고해야 할 것입니다.
코드를 공유하는 대신 가변적 인 사항에 초점을 맞추고 구성 가능한 것으로 만드십시오. 당신의 요지를 보아서, 그것은 지금까지 가장 간단한 해결책 인 것 같습니다.
속성이 변경 될 때 함수를 호출하는 사용자 지정 요소가 있다고합시다. 이 함수는 요소의 일부 인스턴스에 대해 달라야합니다. 당신은 너무처럼 바인딩 기능이 작업을 수행하고 .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);
}
+0
나쁜 접근 방식을 택한 것 같습니다. 대단한 배려 !!! 고마워요! – Lumdeia
질문에 관련 코드를 포함시킬 수 있습니까? –