背景
采用Vue-cli搭建Vue官方webpack模版项目后,在查看webpack入口文件:“main.js”时,发现代码是这样的:
1 | import Vue from 'vue' |
对其中的“template: ‘
探究
花了半天时间查了文档,检索类似的问题,都没有找到答案。隔壁的“webpack-simple”那个项目模版中,也并没有这么写,而是另外一种写法:
1 | import Vue from 'vue' |
需要注意的是以上两个模版对应的html文件中,无一例外的都没有直接使用组件的痕迹。
能够理解以上两段代码的含义:引入必要的component,在html对应的挂载点上应用它。
误区
因为一直在写component,一直在其中使用template、rander,所以无意识中把template和rander归到到了component专属的范畴。
仔细查阅文档会发现其实这是错误的,component其实就是Vue实例的扩展,template和rander都是Vue实例本身就拥有的,在Vue实例中出现它们在正常不过了。
以上的写法,相当于在html的挂载点中应用了组件,不同之处是在html中,你需要采用组件名称的标签,而这里不是。
那么为什么这种写法让人觉得少见呢?
这是因为在实际项目中,我们new一个Vue实例的机会本来就不多,在加上多数情况下很可能在html的挂载点中,已经主动应用了组件,如此就不必写了。
注意事项
1 | template: '<App/>', |
其中的组件名称要和import、components中的一致,而非组件名称。