new Vue() 和 export default {}及Vue页面组件和标签组件说明与比较(非常重要)
说明与比较: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页面组件和标签组件说明与比较(非常重要)相关推荐
- 在vue中报export ‘default‘ (imported as ‘Vue‘) was not found in ‘vue 解决办法
在vue中报export 'default' (imported as 'Vue') was not found in 'vue 问题原因 今天在学习vue的过程中遇到一个这样的问题,在利用事件总线的 ...
- 多个html如何套用套一个头部,Vue.js项目中管理每个页面的头部标签的两种方法...
在 Vue SPA 应用中,如果想要修改 HTML 的头部标签,如页面的 title ,我们只能去修改 index.html 模板文件,但是这个是全局的修改,如何为每个页面都设置不一样的 title ...
- vue导入html登陆页,Vue 实现 登陆后打开主页面(登陆组件 + 主页面组件)
本次演示,项目所需 iview,router 首先 在 views 目录 新建 两个 组件 ( login.vue ,index.vue ) login.vue 登录 登 录 export defau ...
- Vue+Vue Router+Webpack打包网站基础页面
Vue+Vue Router+Webpack打包网站基础页面 1.目录结构 2.package.json所需依赖包 {"name": "vue_router_webpac ...
- VUE路由跳转并刷新页面(框架层实现)
前言 网上找了很多办法,都需要开发者在页面内单独实现,或者是刷新整个浏览器,感觉并不是特别舒服.因此,我考虑可以在框架层去实现路由跳转刷新. 思路如下: 1.重定向至临时界面(用户无感知) 2.打开临 ...
- vue重构html css,使用vue重构资讯页面的实例代码解析
从我接手到将这个页面代码重构前,一直都还是使用angular1的代码去做的,需求来了也是用angular去实现:作为一个憧憬新技术的前端,怎么忍受得了现在还在使用这么有历史感的框架,所以,以前就一直在 ...
- vue页面引入多个组件的方法
通常我们使用的是单个文件引入,但是这样就会有很多代码是重复的,怎样才能实现"按需"引入呢? 如上图 no_started中引入no_bac1,no_bac2,no_bac3,no_ ...
- 【骨架屏】【vue】如何在webpack+vue+vue-cli下搭建多模块/单模块多路由骨架屏
如何在webpack+vue+vue-cli下搭建多模块/单模块多路由骨架屏 前言 骨架屏的用户感知比loading更好,此前看过很多专栏以及文章,此次实践中还是遇到需要学习的部分. 对于骨架屏或者占 ...
- vue 子父组件周期顺序_父组件和子组件生命周期钩子执行顺序是什么?
加载页面执行步骤 1.父组件:beforeCreate -> created -> beforeMount 2.子组件:beforeCreate -> created -> b ...
- vue全局更新以及孙组件调用祖组件(利用provide和inject)
一.前言 1.简介:provide与inject是Vue组件开发当中较为实用的功能. 2.用途:主要用于vue高阶组件的开发,本文将介绍一些provide与inject的一些实用技巧. 3.原理: p ...
最新文章
- nsqjs客户端的部署
- 成功解决OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cv::cvtColor
- Qt Creator添加3D视图
- Python每日一练(1):计算文件夹内各个文章中出现次数最多的单词
- ss.exe 命令参数应用
- python lamda函数_python 用lambda函数替换for循环的方法
- mysql表空间大小_浅谈mysql中各种表空间(tablespaces)的概念
- 若川知乎高赞:有哪些必看的 JS 库?
- 在VSCode Remote环境下开发Teams Bot
- 第六十二期:看完这篇还不了解Nginx,那我就哭了!
- Storm的BaseBasicBolt源码解析ack机制
- s5pv210开发板、原理图、刷机和数据手册
- 腐蚀rust图纸怎么找_怎么解决变压器油滤油机的温差效应?在这里可以得到解决...
- matlab学习笔记(4)
- leetcode之字符串中的第一个唯一字符
- js高级学习笔记(b站尚硅谷)-11-变量提升与函数提升
- 等保2.0 三级检查明细
- 自定义ViewGroup
- ESP8266 - 首次使用点灯科技
- AES 对称加密算法
热门文章
- sphinx系列之中文分词LibMMSeg安装(三)
- Angularjs的ng-repeat中去除重复的数据
- Asp.Net资料网址
- Python selenium报错:selenium.common.exceptions.ElementClickInterceptedException
- C 标准库中输出到字符串、到文件的相关函数
- VS2015 error C4146: 一元负运算符应用于无符号类型,结果仍为无符号类型
- docker自定义网络
- qtvs添加qchart_如何使用Qt Designer在表单中插入QChartView?
- .net excel循环插数据_[PaperReading]MEMC-Net 运动估计和运动补偿网络
- PHP数组数据结构图,PHP数组与数据结构