您的位置:首页 > Web前端 > Vue.js

Vue组件模板的几种书写形式(3种)

2020-05-01 12:07 971 查看

1.第一种使用script标签

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<test-component></test-component>
</div>
<script type="text/x-template" id="testComponent"><!-- 注意 type 和id。 -->
<div>{{test}} look test component!</div>
</script>
</body>
<script>
//全局注册组件
Vue.component('test-component',{
template: '#testComponent',
data(){
return{
test:"hello"
}
}
})

new Vue({
el: '#app'
})
</script>
</html>

注意:使用<script>标签时,type指定为text/x-template,意在告诉浏览器这不是一段js脚本,
浏览器在解析HTML文档时会忽略<script>标签内定义的内容。

2.第二种使用template标签

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<div id="app">
<test-component></test-component>
</div>

<template id="testComponent">
<div>look test component!</div>
</template>
</body>
<script>

Vue.component('test-component',{
template: '#testComponent'
})

new Vue({
el: '#app'
})

</script>
</html>

当然,如果template内容少的话,我们可以直接在组件中书写,而不需要用template标签。像下面这样:

Vue.component('test-component',{
template:`<h1>this is test,{{test}}</h1>`,
data(){
return{
test:"hello test"
}
}
})

3.第三种 单文件组件

这种方法常用在vue单页应用中

创建.vue后缀的文件,组件Hello.vue,放到components文件夹中

<template>
<div class="hello">
<h1>{{ msg }}</h1>
</div>
</template>

<script>
export default {
name: 'hello',
data () {
return {
msg: '欢迎!'
}
}
}
</script>
app.vue

<template>
<div id="app">
<img src="./assets/logo.png">
<hello></hello>
</div>
</template>

<script>

import Hello from './components/Hello'
export default {
name: 'app',
components: {
Hello
}
}
</script>

<style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>

以上就是Vue组件模板的几种书写形式(3种)的详细内容,更多关于Vue 组件模板请关注脚本之家其它相关文章!

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Vue 组件模板