概述
1. 根实例 template 和 组件 template 是一样的,都只能有一个根元素(根元素指的是包含在最外层的元素);
new Vue({
el: '#app',
store,
components: {App, zujian}, //注册这两个组件
template: '<zujian></zujian>'
})
2. 优先级:根实例 template 内容 > 根实例绑定的元素的内容:
当根实例中的 template 有内容时(自定义模板或者直接放组件)时,网页会使用template 的内容,根实例绑定的元素的内容会被template的内容覆盖掉
当没有设置根实例的template内容时,Vue才会使用根实例绑定的元素的内容
例1:设置根实例的template
main.js
import Vue from 'vue'
import App from './App'
import zujian from './components/zujian'
import store from './store'
Vue.config.productionTip = false
new Vue({
el: '#app',
store,
components: {App, zujian},
template: '<zujian></zujian>'
})
项目的index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>firstvue</title>
</head>
<body>
<div id="app">
<div>我是原本的内容</div>
</div>
<!-- built files will be auto injected -->
</body>
</html>
<script>
import App from "./src/App"
export default {
components: {App}
}
</script>
components目录的zujian.vue
<template>
<div>我是一个组件
<div>{{message}}</div>
</div>
</template>
<script>
import app from '../App'
export default {
name: 'zujian',
data () {
return {
message: this.$store.state.showFooter
}
}
}
</script>
展示效果,可见是使用了zujian.vue的内容
例子2:不设置根实例的template值
main.js去掉template那一项
import Vue from 'vue'
import App from './App'
import zujian from './components/zujian'
import store from './store'
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: '#app',
store,
components: {App, zujian}
})
展示效果,可见,当没设置template值时,会使用根实例绑定的那个元素本来的内容
最后
以上就是火星上鱼为你收集整理的vue 根实例 template 和 组件 template的全部内容,希望文章能够帮你解决vue 根实例 template 和 组件 template所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复