반응형
Vue 슬롯의 렌더링된 HTML 콘텐츠를 변수로 가져옵니다.
난 네가 이런 걸 할 수 있다는 걸 알아.
<div id="app">
<div class="container">
<h1 class="title is-1" v-html="text"></h1>
<get-slot-contents>
<p>Hi there</p>
<p>Hi <span>heloo</span></p>
<p>Hi there</p>
<p>Hi there</p>
</get-slot-contents>
</div>
</div>
// JS
Vue.component('get-slot-contents', {
data: function () {
return {
html : false
}
},
template: `<div>
****
<slot></slot>
****
</div>`,
mounted(){
console.log(this.$slots.default);
}
});
이것은, 다음의 로그를 기록합니다.
[fo, fo, fo, fo, fo, fo, fo]
각 각각fo
같은 것을 포함하는:다음을 포함합니다.
{tag: undefined, data: undefined, children: undefined, text: " ", elm: text, …}
어떻게어떻게 하겠어 내갈 것인가?console.log
같은 것:예를들어 다음과 같습니다.
<p>Hi there</p><p>Hi <span>heloo</span></p><p>Hi there</p><p>Hi there</p>
이를 위해 중첩된 구성요소는 없다고 가정할 수 있습니다.
줄래 점점 얻을 수 있을까innerHTML
부터에서this.$el
당신을 위해 작품들?괜찮으시겠어요?
데모: https://codepen.io/jacobgoh101/pen/vjmzWg?editors=1010
<div id="app">
<div class="container">
<h1 class="title is-1"></h1>
<get-slot-contents>
<p>Hi there</p>
<p>Hi <span>heloo</span></p>
<p>Hi there</p>
<p>Hi there</p>
</get-slot-contents>
</div>
</div>
Vue.component("get-slot-contents", {
data: function() {
return {
html: false
};
},
template: `<div>
****
<div class="slot-wrapper">
<slot></slot>
</div>
****
</div>`,
mounted() {
console.log(this.$el.getElementsByClassName("slot-wrapper")[0].innerHTML);
}
});
new Vue({
el: "#app"
});
언급URL : https://stackoverflow.com/questions/50133153/get-rendered-html-contents-of-vue-slot-as-variable
반응형
'source' 카테고리의 다른 글
표준위원회가 주목하는 이국적인 아키텍처 (0) | 2022.08.25 |
---|---|
spring @Controller 주석과 @RestController 주석의 차이점 (0) | 2022.08.25 |
자바 키스토어에 .cer 증명서를 Import하려면 어떻게 해야 합니까? (0) | 2022.08.25 |
vue-cli 3에서 프로젝트 템플릿에 Vuetify 추가: App.vue에 스크립트 태그를 추가하면 앱이 중단됩니까? (0) | 2022.08.25 |
사용자 지정 Vue 구성 요소에 vanilla .js를 추가하는 방법 (0) | 2022.08.25 |