import App from './App' new Vue({ el: '#app', router, template: '', components: { App } })
这里不是已经把App.vue引入进来在components: {App}这里当组件使用了吗?而且App.vue里面也有template标签啊,为什么还要在这里加template: '
一个字符串模板作为 Vue 实例的标识使用。模板将会 替换 挂载的元素。挂载元素的内容都将被忽略,除非模板的内容有分发 slot。
App.vue是这个程序的主程序,所有的程序都是基于它。
谢邀。
首先你要去理解 vue component
。
把TA看成一颗树,类似DOM树的关系。
你这个代码段,应该是入口文件里面的。
也就是申明 组件树的 根组件。
html _ body - p#app App
vue 里面的 组件渲染,你可以理解成 占位符替换。也就需要有占位符的该你那,<App/>
就是占位符
上面的App的位置,最终渲染后就替换成你App.vue
组件里面定义的template
内容。
另外,App.vue 这种文件是 vue 为了方便整合 组件化设计的一种文件格式。
然后通过 vue-loader
去预加载.vue
文件。解析里面的 template,script,style
等内容。最终也会转换成标准的vue component
定义形式。
Vue.component('App', { template: '<p>我是App组件里面的内容</p>', data: function () { return { } } })
这里的template
就是一个模板了,就是将<App/>
挂载到#app
这个元素,<App/>
本身是一个组件。
你只引入了 App 组件,但并没有渲染或者说使用它。
--QQ群网友
感觉上面这个说法很好理解
或者这样使用
<p id="app"> <App><App/> </p>