为什么需要组件拆分呢?这样才能更符合模块化这样一个理念。

首先是index.html,代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">
<title>sell</title>
<link rel="stylesheet" type="text/css" href="static/css/reset.css">
</head>
<body>
<div id="app"></div> <-----------------------------------------这里才是有用的哦,记住这里,这是一个div,id='app' 这里是 A
</body>
</html>

  app.vue文件:

<template>
<div id="aaa"> <!------------------------------------------------------这里也要多注意下哦,稍后解释 这里是 B
<div class="header">
im header
</div>
<div class="container">
im container
</div>
<div class="footer">
im footer
</div>
</div>
</template>
<script> </script>
<style>
</style>

   main.js文件

import Vue from 'vue';
import App from './App'; /*eslint-disable no-new*/
new Vue({
el:'#app',             <!----------------------------------这里和下面一行都蛮重要的 这里是 C
render: h => h(App) <!----------------------------------还有这里哦 这里是 D
})

好,先让我们看一下这么写的效果和最后呈现在HTML的结构是什么样的(太简单了,我怕你们打我。。。。)

  我脑子笨,你们原谅我连这点都想不明白,我刚开始就在纠结这三个问题。

  1.index.html里面的那个带id#app的div,为什么不会出现在dom结构里?

  2.index.html里面的那个带id#app的div,它与app.vue里面的id=‘#aaa’的div有什么关系?

  3.为什么在main.js文件里面,用render: h => h(App)把它们挂载到#app里面,有的却写的是components:{app}?

  正好加了一个vue的群,在群里提出了我的问题,里面的人告诉我说:

  1.应该index.html 里面那个ID 只在node环境用 打包以后 就渲染成挂载的app.vue的页面了.

  2.app.vue 跟 index.html 里面的ID 不一定一样 ,app.vue里面的id 会最终渲染到DOM结构里,并且写的其他标签 要放到那个div里面 而且template下级 只能有一个div.

  3.

new Vue({
router,
store,
//components: { App } <!---------------------------------------------vue1.0的写法
render: h => h(App) <!---------------------------------------------vue2.0的写法
}).$mount('#app')

  先说render:render函数是渲染一个视图,然后提供给el挂载,如果没有render那页面什么都不会出来。

  然后是  =>   箭头函数。是Es6中的新语法:(如果大家想更深入的了解,推荐一篇文章:链接:https://segmentfault.com/a/1190000009410939)

  其实render: h => h(App)的意思, 首先 :表示 Vue 实例选项对象的 render 方法,它作为一个函数,接受传入的参数 h 函数,返回 h(App) 的函数调用结果。等价于:               

                  {
                  render: function(h) {
                  return h(App);
                  }
                  }

                  其次:Vue 在创建 Vue 实例时,通过调用 render 方法来渲染实例的 DOM 树。

最新文章

  1. CF733C Epidemic in Monstropolis[模拟 构造 贪心]
  2. 【转】Linux重定向操作符
  3. SQL Server:分离和重新附加数据库
  4. IT版孔乙己(转)
  5. 优雅的实现Activiti动态调整流程(自由跳转、前进、后退、分裂、前加签、后加签等),含范例代码!
  6. ADO.NET与Oracle(一):获取多行记录集
  7. Linux系统工程师学习方法
  8. 在vim下写python 会出现python错误:unexpected unident
  9. 开源 java CMS - FreeCMS2.3 移动app生成首页数据
  10. 自己动手写处理器之第一阶段(3)——MIPS32指令集架构简单介绍
  11. Ubuntu 安装启动Tomcat
  12. dedecms 在php5.4以上环境下 无法保存中文
  13. python实现博客自动刷点击脚本
  14. Android Studio开发快速创建MVP框架插件AndroidMVP
  15. 第一次使用eclipse出现的问题
  16. zabbix使用微信报警(四)
  17. audio进度条
  18. nginx域名转发 负载均衡 反向代理
  19. JavaScript 为什么不要使用 eval
  20. Spring boot 入门四:spring boot 整合mybatis 实现CRUD操作

热门文章

  1. 关于「环境变量」PATH,CLASSPATH
  2. C++模板之隐式实例化、显示实例化、隐式调用、显示调用和模板特化详解
  3. 生产环境下JAVA进程高CPU占用故障排查---temp
  4. 【转】cache buffer chain 第一篇
  5. 爬虫库之BeautifulSoup学习(二)
  6. 后端开发-Mybatis开发之一
  7. [翻译] 物理引擎javascript实现
  8. flex+blazeds
  9. js页面的全屏展示和退出全屏显示
  10. 在实战中使用nginx-rtmp遇到的TCP连接问题分析