1
재사용 가능한 UI 구성 요소를 만드는 중입니다. 구성 요소의 소비자가 구성 요소의 특정 영역에 대해 자체 템플릿을 제공 할 수있는 방법을 파악하려고합니다.어떻게 동적으로 보간 된 문자열을 자바 스크립트로 만들 수 있습니까?
저는 typescript를 사용하고 있으며 가장 적절한 조치 과정 인 것처럼 문자열 보간을 사용하여이 작업을 수행하려고합니다. 여기
는 내가 지금까지 무엇을 가지고 :export class Pager {
pageNumber: number = 1;
getButtonHtml(buttonContentTemplate?: string, isDisabled?: boolean): string {
buttonContentTemlpate = buttonContentTemplate || '${this.pageNumber}';
isDisabled = isDisabled || false;
return `<button id="button-id" type="button" ${!isDisabled ? '' : disabledAttribute}>
${buttonContentTemplate}
</button>`;
}
}
내가 페이지 번호를 기반으로 사용자 입력/상호 작용을 업데이트 할 다른 방법을 가지고,하지만 난 그게의를 호출되는 경우
getButtonHtml
것을 작업 할 반환 값은
<button id="button-id" type="button">1</button>
이지만, 대신
<button id="button-id" type="button">${this.pageNumber}</button>
이 표시됩니다.
자바 스크립트에서 문자열을 다시 평가하고 나머지 자리 표시자를 삽입하는 방법이 있습니까?
이 항목에 대한 MDN 문서를 살펴본 결과 String.raw
방법이 내가 사용해야하는 것일 수 있다고 생각했지만 확실하지 않았습니다. 시도하지 않았더라도 작업.
도움을 주시면 감사하겠습니다.
[ES2015 템플릿 리터럴] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals) 또는 많은 사용 가능한 템플릿 시스템 중 하나 – Pointy
아마도 내 질문에 명확하지 않습니다. 템플릿 리터럴을 사용하고 있으며 비활성화 된 속성에 대해 작업하고 있지만'$ {buttonContentTemplate}'에는 템플릿 리터럴도 포함되어 있으므로 평가되지 않습니다. 거기에'1'을 넣는 대신 (템플릿이 평가되면 일어날 것입니다),'$ {this.pageNumber}'를 넣고 있습니다. 자바 스크립트가 다시 평가하고 강제적으로이 대체 방법을 강요 할 수있는 방법이 있습니까? – peinearydevelopment
은 ' – Monah