gpt4 book ai didi

vue.js - 如何使用 x-template 从 Vue 组件中分离出模板

转载 作者:搜寻专家 更新时间:2023-10-30 22:50:38 25 4
gpt4 key购买 nike

尝试将模板与 Vue 组件分开,如下所示,但它不起作用。仅引用 vue.js 文件而不浏览。

Vue.component('my-checkbox', {
template: '#checkbox-template',
data() {
return { checked: false, title: 'Check me' }
},
methods: {
check() { this.checked = !this.checked; }
}
});

<script type="text/x-template" id="checkbox-template">
<div class="checkbox-wrapper" @click="check">
<div :class="{ checkbox: true, checked: checked }"></div>
<div class="title"></div>
</div>
</script>

或者将模板与 vue 组件分开的任何替代方法。

最佳答案

你定义X-Templates在您的 HTML 文件中。请参阅下面的简短演示

// this is the JS file, eg app.js
Vue.component('my-checkbox', {
template: '#checkbox-template',
data() {
return { checked: false, title: 'Check me' }
},
methods: {
check() { this.checked = !this.checked; }
}
});

new Vue({el:'#app'})
/* CSS file */
.checkbox-wrapper {
border: 1px solid;
display: flex;
}
.checkbox {
width: 50px;
height: 50px;
background: red;
}
.checkbox.checked {
background: green;
}
<!-- HTML file -->
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.min.js"></script>
<script type="text/x-template" id="checkbox-template">
<div class="checkbox-wrapper" @click="check">
<div :class="{ checkbox: true, checked: checked }"></div>
<div class="title">{{ title }}</div>
</div>
</script>
<div id="app"> <!-- the root Vue element -->
<my-checkbox></my-checkbox> <!-- your component -->
</div>

关于vue.js - 如何使用 x-template 从 Vue 组件中分离出模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52295908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com