经常发现这样的代码在一些实例中:

new Vue({
	    	el:"#app",   
	    	data:{
	    		message:"message1 hello!"
	    	},
	    	components:{
	    		App:{template:"<div>This is template!</div>"}  //定义局部组件
	    	},
	        template:'<App />'  
});

el这样的参数意义比较明显,就是要被替换的index.html中的元素,即为挂载的元素。
在网上找了好多实例都说template是用模板元素替换了id为app的元素,意思就是挂载元素的内容会被忽略,在index.html页面中显示的是模板元素里面的内容。

下面总结一下:
一、实际上写法表示要选择的组件,因为components参数里其实可以放多个组件对象,比如:components:{App,App2,App3},如果想用App2,则需要设置template: ‘’,这是template参数最常见的用法。
二、以#开头,表示选择器,他会获取页面上的元素来替换el参数里的元素,例如:

<template id="myComponent"> <div>This is a component!</div> </template>
Vue.component("my-com",{
       template:"myComponent"
})

三、直接文本


var vm = new Vue({
  el: '#app',
  template: '<div>第三种写法</div>',
})
Logo

前往低代码交流专区

更多推荐