vue-cli新的webpack模板问题

正在学习vue中,在用vue-cli安装webpack模板里,发现目录还有一些代码都和教程不太一样,有些不理解的地方,在index.html里是

  <body>
    <div id="page"></div>
    <!-- built files will be auto injected -->
  </body>

在main.js里是

import Vue from 'vue';
import App from './App';
import router from './router';

Vue.config.productionTip = false;

/* eslint-disable no-new */
new Vue({
  el: '#page',
  router,
  components: {
    App
  },
  template: '<App/>'
});

app.vue

<template>
  <div id="app">
    <div class="header">
      I am header!
    </div>
    <div class="tab">
      I am tab!
    </div>
    <div class="content">
      I am content!
    </div>
  </div>
</template>

在这里el不是指向我index.html页面中的#page的div吗?为什么编译运行完之后我在控制台看到的html结构没有#page这个div而是#app的div?

阅读 1.9k
3 个回答
{
  el: '#page',
  router,
  components: {
    App
  },
  template: '<App/>'
}

这里使用template,template就是模板引擎,在vue中,这样使用的话会把页面中的#page(包括id='page'这个标签)替换成template的内容。

el 选取 #page 替换为 <App /> 渲染为 app.vue 组件。

template: '<App/>' 就表示用App组件替换index.html里面的<div id="page"></div>

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏