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