사용자가 데스크톱/모바일 페이지에서 '좋아요’를 표시할지 선택할 수 있도록 하려고 했습니다.
이렇게 .hbr 파일에서 사용자 커스텀 필드를 어떻게 사용해야 하는지 알고 싶습니다.
아니면 사용자 필드를 기반으로 조건부 CSS를 적용할 수 있는지도 궁금합니다.
사용자가 데스크톱/모바일 페이지에서 '좋아요’를 표시할지 선택할 수 있도록 하려고 했습니다.
이렇게 .hbr 파일에서 사용자 커스텀 필드를 어떻게 사용해야 하는지 알고 싶습니다.
아니면 사용자 필드를 기반으로 조건부 CSS를 적용할 수 있는지도 궁금합니다.
조사를 좀 해본 결과, hbr 파일은 템플릿으로 전달되는 값만 인식할 수 있고, 계산된 값을 전달할 수 없기 때문에 불가능하다고 생각합니다.
<script type="text/discourse-plugin"
version="0.8">
const testComponent = require('discourse/app/raw-views/list/posts-count-column').default;
testComponent.reopen({
user: function() {
return Discourse.User.current()
}.property()
});
</script>
posts-count-column 컴포넌트에 repoen()을 사용하여 아래 예시처럼 currentUser 값을 전달하려고 했지만, 오류가 발생했습니다. 아마도 이 메서드를 지원하는 컴포넌트 유형이 제한되어 있는 것 같습니다.
그리고 상위에서 하위로 오버라이드하여 중첩된 hbr에 currentUser 값을 전달하는 다른 방법을 찾았습니다. 값을 삽입하기 위해 {{raw “list/posts-count-column” topic=topic tagName=“div” user=user}}를 추가했습니다.
<script type='text/x-handlebars' data-template-name='mobile/list/topic-list-item.raw’>
<script type='text/x-handlebars' data-template-name='list/post-count-or-badges.hbr'
<script type="text/x-handlebars" data-template-name="list/posts-count-column.hbr">
vue처럼 중첩된 템플릿에 값을 전달하기 위해 emberjs에 provide/inject 기능이 있습니까? 검색을 해보았지만 관련 정보를 많이 찾지 못했습니다. 이에 대한 조언이 있을까요?