说明与比较:new Vue() 和 export default {}

(1)vue就是一个构造函数

(2)vue标签组件:是HTML标签的扩展https://www.cnblogs.com/w-wanglei/p/5851629.html  什么是组件:组件是Vue.js最强大的功能之一。组件可以扩展HTML元素,封装可重用的代码。在较高层面上,组件是自定义的元素,Vue.js的编译器为它添加特殊功能。在有些情况下,组件也可以是原生HTML元素的形式,以is特性扩展。(Vue.component页面内复用,可把Vue页面组件、HTML元素等当作一个标签内容进行复用)

你可能已经注意到 Vue.js 组件非常类似于自定义元素——它是 Web 组件规范的一部分。实际上 Vue.js 的组件语法参考了该规范。例如 Vue 组件实现了 Slot API 与 is 特性。但是,有几个关键的不同:

1)Web 组件规范仍然远未完成,并且没有浏览器实现。相比之下,Vue.js 组件不需要任何补丁,并且在所有支持的浏览器(IE9 及更高版本)之下表现一致。必要时,Vue.js 组件也可以放在原生自定义元素之内。

2)Vue.js 组件提供了原生自定义元素所不具备的一些重要功能,比如组件间的数据流,自定义事件系统,以及动态的、带特效的组件替换。

(3)vue页面组件:在生成、导出、导入、使用 Vue 页面组件的时候,像我这种新手就会常常被位于不同文件的 new Vue() 和 export default{} 搞得晕头转向。它们含义到底是什么,又有什么异同呢?

首先,Vue 是什么? po 主的理解是 Vue 就是一个构造函数,生成的实例是一个巨大的对象,可以包含数据、模板、挂载元素、方法、生命周期钩子等选项。

所以渲染的时候,可以使用构造 Vue 实例的方式来渲染相应的 html 页面:

new Vue({el: '#app'...
})

那么 export default {} 又是来干嘛的?(页面间复用)

这是在复用组件的时候用到的。假设我们写了一个单页面组件 A 文件,而在另一个文件 B 里面需要用到它,那么就要用 ES6 的 import/export 语法 ,在文件 A 中定义输出接口 export **,在文件 B 中引入 import **,然后再生成一个 Vue 实例 new Vue (**),把引入的组件用起来,这样就可以复用组件 A 去配合文件 B 生成 html 页面了。

所以在复用组件的时候,export 和 new Vue 缺一不可。

转载于:https://www.cnblogs.com/bwdblogs/p/11130706.html

new Vue() 和 export default {}及Vue页面组件和标签组件说明与比较(非常重要)相关推荐

  1. 在vue中报export ‘default‘ (imported as ‘Vue‘) was not found in ‘vue 解决办法

    在vue中报export 'default' (imported as 'Vue') was not found in 'vue 问题原因 今天在学习vue的过程中遇到一个这样的问题,在利用事件总线的 ...

  2. 多个html如何套用套一个头部,Vue.js项目中管理每个页面的头部标签的两种方法...

    在 Vue SPA 应用中,如果想要修改 HTML 的头部标签,如页面的 title ,我们只能去修改 index.html 模板文件,但是这个是全局的修改,如何为每个页面都设置不一样的 title ...

  3. vue导入html登陆页,Vue 实现 登陆后打开主页面(登陆组件 + 主页面组件)

    本次演示,项目所需 iview,router 首先 在 views 目录 新建 两个 组件 ( login.vue ,index.vue ) login.vue 登录 登 录 export defau ...

  4. Vue+Vue Router+Webpack打包网站基础页面

    Vue+Vue Router+Webpack打包网站基础页面 1.目录结构 2.package.json所需依赖包 {"name": "vue_router_webpac ...

  5. VUE路由跳转并刷新页面(框架层实现)

    前言 网上找了很多办法,都需要开发者在页面内单独实现,或者是刷新整个浏览器,感觉并不是特别舒服.因此,我考虑可以在框架层去实现路由跳转刷新. 思路如下: 1.重定向至临时界面(用户无感知) 2.打开临 ...

  6. vue重构html css,使用vue重构资讯页面的实例代码解析

    从我接手到将这个页面代码重构前,一直都还是使用angular1的代码去做的,需求来了也是用angular去实现:作为一个憧憬新技术的前端,怎么忍受得了现在还在使用这么有历史感的框架,所以,以前就一直在 ...

  7. vue页面引入多个组件的方法

    通常我们使用的是单个文件引入,但是这样就会有很多代码是重复的,怎样才能实现"按需"引入呢? 如上图 no_started中引入no_bac1,no_bac2,no_bac3,no_ ...

  8. 【骨架屏】【vue】如何在webpack+vue+vue-cli下搭建多模块/单模块多路由骨架屏

    如何在webpack+vue+vue-cli下搭建多模块/单模块多路由骨架屏 前言 骨架屏的用户感知比loading更好,此前看过很多专栏以及文章,此次实践中还是遇到需要学习的部分. 对于骨架屏或者占 ...

  9. vue 子父组件周期顺序_父组件和子组件生命周期钩子执行顺序是什么?

    加载页面执行步骤 1.父组件:beforeCreate -> created -> beforeMount 2.子组件:beforeCreate -> created -> b ...

  10. vue全局更新以及孙组件调用祖组件(利用provide和inject)

    一.前言 1.简介:provide与inject是Vue组件开发当中较为实用的功能. 2.用途:主要用于vue高阶组件的开发,本文将介绍一些provide与inject的一些实用技巧. 3.原理: p ...

最新文章

  1. nsqjs客户端的部署
  2. 成功解决OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cv::cvtColor
  3. Qt Creator添加3D视图
  4. Python每日一练(1):计算文件夹内各个文章中出现次数最多的单词
  5. ss.exe 命令参数应用
  6. python lamda函数_python 用lambda函数替换for循环的方法
  7. mysql表空间大小_浅谈mysql中各种表空间(tablespaces)的概念
  8. 若川知乎高赞:有哪些必看的 JS 库?
  9. 在VSCode Remote环境下开发Teams Bot
  10. 第六十二期:看完这篇还不了解Nginx,那我就哭了!
  11. Storm的BaseBasicBolt源码解析ack机制
  12. s5pv210开发板、原理图、刷机和数据手册
  13. 腐蚀rust图纸怎么找_怎么解决变压器油滤油机的温差效应?在这里可以得到解决...
  14. matlab学习笔记(4)
  15. leetcode之字符串中的第一个唯一字符
  16. js高级学习笔记(b站尚硅谷)-11-变量提升与函数提升
  17. 等保2.0 三级检查明细
  18. 自定义ViewGroup
  19. ESP8266 - 首次使用点灯科技
  20. AES 对称加密算法

热门文章

  1. sphinx系列之中文分词LibMMSeg安装(三)
  2. Angularjs的ng-repeat中去除重复的数据
  3. Asp.Net资料网址
  4. Python selenium报错:selenium.common.exceptions.ElementClickInterceptedException
  5. C 标准库中输出到字符串、到文件的相关函数
  6. VS2015 error C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型
  7. docker自定义网络
  8. qtvs添加qchart_如何使用Qt Designer在表单中插入QChartView?
  9. .net excel循环插数据_[PaperReading]MEMC-Net 运动估计和运动补偿网络
  10. PHP数组数据结构图,PHP数组与数据结构