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),但对我来说开发效率确实 ...
随机推荐
- linux安装nodejs运行vue程序
linux安装nodejs运行vue程序 1.与node官网下载安装包 https://nodejs.org/zh-cn/download/ 6.上传到服务器,并解压 tar -xvf node-v1 ...
- What does git fsck stand for?
fsck -> File System ChecK https://stackoverflow.com/questions/21151945/what-does-git-fsck-stand-f ...
- Centos7.x gnome 桌面美化
一.管理工具 gnome是通过gnome-tweak-tool(优化工具)来管理的,可以在左上角的应用程序->工具里找到. 也可以直接在终端输入gnome-tweak-tool来启动它.启动界面 ...
- Java学习笔记51(综合项目:家庭记账系统)
javaEE的开发模式 1.什么是模式 模式在开发过程中总结出的“套路”,总结出的一套约定俗成的设计模式 2.javaEE经历的模式 model1模式: 技术组成:jsp+javaBean model ...
- 微信开发-PC调试-JS-SDK功能之分享功能调试
一般涉及和第三方的开发调试,都会比较麻烦些.不过,像微信这样的大公司呢,产品技术是过硬的,所以,基本上只要自己把文档看仔细了,弄好了,基本就没有问题了. 对于后端接口一类的调试,主要就是通过打印访问日 ...
- Web开发经验谈之F12开发者工具/Web调试[利刃篇]
引语:如今的整个Web开发行业甚至说整个软件开发行业,已经相当成熟,基本上已经很少找不到没有前人做过的东西了,或者换句话说,你想要实现的功能,你总能在某个地方搜索到答案,关键是你有没有这个时间精力去搜 ...
- 从Redis生成数据表主键标识
对于MySql的全局ID(主键),我们一般采用自增整数列.程序生成GUID.单独的表作为ID生成器,这几种方案各有优劣,最终效率都不能说十分理想(尤其海量数据下),其实通过Redis的INCR可以很方 ...
- 详谈再论JAVA获取本机IP地址
首先,你如果搜索“JAVA获取本机IP地址”,基本上搜到的资料全是无用的.比如这篇:http://www.cnblogs.com/zrui-xyu/p/5039551.html实际上的代码在复杂环境下 ...
- 使用maven构建多模块项目,分块开发
在多人使用Maven协作开发项目时,尤其是稍微上点规模的项目,每个RD的工作都细分到具体功能和模块,有些模块甚至还要单独部署. 我们假设有这样一个商城项目,包括以下几个模块: 商城前台(shop) 管 ...
- Mybatis之基于XML的调用存储过程与手动回滚事务
一.调用存储过程 一.返回单个值 1.存储过程准备 这里先创建一个存储过程,传入参数为age,传出参数为count.然后先测试一下是否正确. CREATE DEFINER=`root`@`localh ...