위젯 반환:
api.decorateWidget에 자체 커스텀 위젯을 반환하는 방법을 사용할 수 있습니다. 이렇게 하면 속성, 상태, 동작 등에 대해 훨씬 더 많은 제어권을 가질 수 있습니다.
다음과 같이 구현할 수 있습니다:
api.decorateWidget('menu-links:before', helper => {
return helper.widget.attach("custom-menu-links");
});
그 다음 javascripts/discourse/widgets/custom-menu-links.js 파일에서 createWidget 헬퍼를 사용하여 위젯을 생성합니다:
import { createWidget } from 'discourse/widgets/widget';
createWidget('custom-menu-links', {
...
});
위젯의 일부 기능을 학습하려면 이 토픽을 확인해 보세요:
드롭다운 헤더 테마 컴포넌트에서 위젯을 상당히 많이 사용했는데, 일부 코드가 도움이 될 수 있습니다.
target=“_blank” 추가
attributes 객체에 추가하면 됩니다:
return helper.h('a.google',
{
attributes: {
href: "https://google.com",
target: "_blank",
title: "Google"
},
}
...
);