vue.js及项目实战[笔记]— 02 vue.js基础
一. 基础
1. 注册全局组件
- 应用场景:多出使用的公共性能组件,就可以注册成全局组件,减少冗余代码
- 全局API
Vue.component('组件名','组件对象')
2.附加功能:过滤器&监视改动
- filter || filters
- 全局过滤器(给数据添油加醋显示):
Vue.filter('过滤器名',过滤器方式fn) - 组件内过滤器
filters:{'过滤器名',过滤器方式fn} - 将数据进行添油加醋的操作
- 过滤器分为两种
- 1.组件内的过滤器(组件内有效)
- 2.全局过滤器(所有组件共享)
- 先注册,后使用
- 组件内
filters:{过滤器名:过滤器fn}最终fn内通过return产出最终的数据 - 使用方式是
{{原有数据|过滤器名}} - 需求
- 页面input框输入字符串,反转字符串输出,按参数显示label(中英文)
- 过滤器fn:
- 声明
function(data,argv1,argv2...){} - 使用
{{数据|过滤器名(参数1,参数2)}}
- 声明
- watch监视单个
- computed 监视多个
- computed:{监视的业务名:funcion(){ return 显示一些内容 }}
- 使用
{{计算属性的名称}}
- 使用
- computed:{监视的业务名:funcion(){ return 显示一些内容 }}
- 全局过滤器(给数据添油加醋显示):
**总结**
* 全局:组件/过滤器,让大家直接使用,全局不带s
* 过滤器:function(原始数据,参数1,参数2){ return 结果; }
** 调用{{'数据' | 过滤器名(参数1,参数2)}}
* watch单个监视
* computed群体监视
3.slot
- 内置的组件
- slot就是子组件里给DOM留下的坑
- <子组件>DOM<子组件>
- slot动态的DOM、props是动态的数据
4.组件生命周期
- 需要频繁的创建和销毁组件
- 比如页面中部分内容显示与隐藏,但是用的是v-if
- 组件缓存
- 内置组件中
keep-alive - 被其包裹的组件,在v-if=false的时候,不会被销毁,而是停用
- v-if=true不会创建,而是激活
- 避免频繁创建组件对象的性能损耗
- 内置组件中
- 成对比较
- created 和 beforeCreate
- A 可以操作数据 ,B 数据没有初始化
- mounted 和 beforeMounte
- A 可以操作DOM ,B 还未生成DOM
- updated 和 beforeUpdate
- A 可以获取最终数据 , B 可以二次修改
- 频繁销毁创建的组件使用内置组件
<keep-alive></keep-alive>包裹
- created 和 beforeCreate
activated(){ // 激活的keep-alive v-if="true"
console.log('activated')
},
deactivated(){ // 停用的keep-alive v-if="false"
console.log('deactivated')
},
beforeDestroy(){ // 销毁前 v-if="false"
console.log('beforeDestroy')
},
destroy(){ // 销毁后 v-if="false"
console.log('destroy')
}
vue.js及项目实战[笔记]— 02 vue.js基础的更多相关文章
- vue.js及项目实战[笔记]— 03 vue.js插件
一. vue补充 1. 获取DOM元素 救命稻草,document.querySelector 在template中标示元素`ref = "xxx" 在要获取的时候,this.$r ...
- vue.js及项目实战[笔记]— 01 vue.js
一. vue基础 1. 历史介绍 angular 09年,年份较早,一开始大家是拒绝的 react 2013年,用户体验较好,直接拉到一堆粉丝 vue 2014年,用户体验较好 前端框架与库的区别 j ...
- vue.js及项目实战[笔记]— 05 WebPack
一. 历史介绍 1. 规范 AMD Commonjs||CMD UMD 参考:认识AMD.CMD.UMD.CommonJS 2. 工具 npm bower webpack browserify 参考: ...
- vue.js及项目实战[笔记]— 04 axios
一. axios 1. 基本使用 axios.method('url',[,...data],options) .then(function(res){ }) .catch(function(err) ...
- Unity3D项目实战笔记(10):Unity3D编译IPA的PostEvents–节约时间利器
最近,SDK支付等接入差不多了,就从Unity3D生成IPA (企业版License), 然,需要手动执行的PostEvents竟然多大10项+, 这些我默默的承受了1周时间,每次约浪费20分钟-额外 ...
- Unity3D项目实战笔记(5):延时功能的几种实现
我所做过的系统,分单机版系统(2005年).CS系统(2010年).实时系统(2015年),各个系统均有“延时”功能:定时调度的: 本博客说的是实时系统中的延时功能(基于Unity3D游戏引擎). 在 ...
- Spring Boot +Vue 项目实战笔记(一):使用 CLI 搭建 Vue.js 项目
前言 从这篇文章开始,就进入真正的实践了. 在前端项目开发中,我们可以根据实际情况不同程度地使用 Vue.利用 Vue CLI(或写成 vue-cli,即 Vue 脚手架)搭建出来的项目,是最能体现 ...
- vue.js+koa2项目实战(一)创建项目和elementUI配置
前端采用vuex+element-ui: 后端采用koa2+restfulAPI+sequlize: (一)项目介绍 宠物社区 1.社区 2.好友 3.说说 4.宠粮 5.健康 (二)项目框架 1.V ...
- Spring Boot +Vue 项目实战笔记(二):前后端结合测试(登录页面开发)
前言:关于开发环境 每位 Coder 都有自己偏好的开发工具,从大的方面划分主要有文本编辑器流和 IDE 流两种,我有一段时间也喜欢用编辑器(Sublime Text.Vim),但对我来说开发效率确实 ...
随机推荐
- 使用 Navicate 连接 Oracle9i 数据库
Navicat Premium 是一个可多重连接的数据库管理工具,它可让你以单一程序同時连接到 MySQL.SQLite.Oracle 及 PostgreSQL 数据库,让管理不同类型的数据库更加方便 ...
- css3 动画与display:none冲突的解决方案
概述 css不能在display:none和display:block之间进行动画,并且也不能在height:0和height:auto之间进行动画.这里我研究了一下在display:none和dis ...
- jQuery应用实例3:全选、二级联动
全选: 这里是用JS实现的:http://www.cnblogs.com/xuyiqing/p/8378221.html 如果使用jQuery则会方便很多: <!DOCTYPE html> ...
- Docker 与 虚拟机比较
1, 更高效的利用系统资源2,更快速的启动时间3,一致的运行环境4,持续交付(Continuous Integration)和部署(Continuous Delivery) 5, 更轻松的迁移 6,更 ...
- Info - 信息获取途径汇总
目的驱动 大多数情况下,都是为了解决某个问题或完成某项任务,才需要进行针对性的.大范围的.细致化的信息获取. 那么,信息获取的方式和来源,就应该紧紧围绕这个"问题和任务"本身来确定 ...
- 【LeetCode】7. 整数反转
题目 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转. 示例 1:输入: 123 输出: 321 示例 2:输入: -123 输出: -321 示例 3:输入: 120 输出 ...
- web自动化测试(java)---元素定位
和python类似,java-selenium也提供了很多种元素定位的方法,具体如下: findElement(By.id()) findElement(By.name()) findElement( ...
- DevExpress GridControl小结
1. 如何解决单击记录整行选中的问题 View->OptionsBehavior->EditorShowMode 设置为:Click 2. 如何新增一条记录 (1).gridView.Ad ...
- TCP/IP 笔记 - 超时和重传
TCP协议为了提供可靠的数据传输服务,会启动数据重传来解决下层网络层(IP)可能出现的数据包丢失. 超时重传介绍 TCP重传由两套独立机制来完成重传,基于时间的超时重传(RTO,TCP发送数据时会设置 ...
- EOS1.1版本新特性介绍
EOSIO/eos 目前在github的项目活跃度方面排名第一,release版本更新的速度让人应接不暇.今天EOS的大版本1.1发布,我也有幸参与了贡献,本篇文章重点介绍1.1版本的重大功能升级. ...