Vue学习之路---No.4(分享心得,欢迎批评指正)
这里说声抱歉,周末因为有其他事,没有更新博客,那么我们今天继续上周5的说。
老规矩,先回顾一下上一次的重点:
1.利用V-if和v-else来提到show()和hide(),同时要记住,v-else一定要跟在v-if后面才有效
2.v-show和v-if的区别( v-show不会渲染dom,只会改变display属性;所以v-if切换速度比v-show慢,而v-show初次渲染比v-if慢 )
3.v-for循环,及循环中每一个参数所对应的值,这里不具体指出,详情请看学习之路No.3
4.当我们不需要循环数据只需要循环次数的时候( <div v-for = " n in items ">{{n}}</div> )
Ok,温故而知新,下面我们开始第二步---知新
首先,我们先了解一下常用的修饰器,如下:
push() //在结尾处增加一条或多条数据
pop() //删除最后一条数据
shift() //删除第一条数据并返回
unshift() //从开始增加一条或多条数据,并返回数组长度
splice() //从数组中添加或删除元素,然后返回被删除的元素
sort() //对数组进行排序
reverse() //颠倒数组的顺序
比如:
example1.items.push( { message } )
//在循环数组的最后加上一条数据,同时我们也改变了它的视图
相应的,有些js方法不修改原始数据,只返回一个新的数组
比如:
filter() //返回条件为真的数据
conact() //连接两个或多个数组
silce() //从已有数组中选择一部分元素返回
使用的时候,因为这样的方法不会改变原有数据,只会返回一个新数组,所以需要整体接受一下,代码如下:
example1.items = example1.items.filter( function (){
return item.message.match(/ foo /)
} )
也许这个时候有人会说,这样整体返回和整体接收会大大影响渲染速度吧,不得不说,你很有想法
但是令人惊奇的就在于 Vue的内置方法会自动重用那些没有进行过改动的数据,这也是Vue为什么快的原因之一。
那么需要之一的地方是,由于javascript的某些限制,我们不能直接对数组进行改动,比如这样:
vm.items[ indexOfItems ] = newValue
vm.items.length = newLength
我们应该这样:
1. Vue.set(example1.items,indexOfItems,newValue)
example1.items = example1.items.splice( indexOfItems,1,newVaue )
2.example1.items = example1.items.splice( newLength )
这里我给大家解释一下
第一种情况的方法一为 利用Vue的内置方法set()改变了下标为indexOfItems的元素
方法二为 通过整体接收,找到某个元素,同时用一个新的值替换从这个元素开始的n个元素,上面n等于1
第二种情况则为 利用整理接收的方法,返回一个新的长度为 newLength的数组
变得比一开始更难理解了?对的,所以,我们减少学习量,一步一步走踏实
进入今天的最后一个环节:
显示过滤或排序后的数据:
<div v-for = " n in numbers ">{{n}}</div>
data: {
numbers[ 1,2,3,4,5 ]
},
computed : {
evenNumbers: function( ){
reutrn this.numbers.filter( function( number ){
return number % 2 === 0
} )
}
}
data:{
numbers[ 1,2,3,4,5 ]
}
method : {
even : function ( numbers ){
return numbers.filter( function( number ) {
return number % 2 === 0
} )
}
}
上面两种方法输出的结果都是一样的,都为2,4
一种为计算属性,另一种为方法;之前我们提到过,方法和计算属性可以完成一样的功能,但是相互有区别。
这个地方,当某些地方不能使用计算属性的时候,我们就利用方法来实现,同时仔细观察的同学可以看出
这个方法,我们可以传参。
今天我们就到这里,祝大家工作顺利,学习进步。
明天见~~~~~~欢迎大家留言指出问题,互相交流,共同进步
Vue学习之路---No.4(分享心得,欢迎批评指正)的更多相关文章
- vue学习之路 - 4.基本操作(下)
vue学习之路 - 4.基本操作(下) 简述:本章节主要介绍 vue 的一些其他常用指令. Vue 指令 这里将 vue 的指令分为系统内部指令(vue 自带指令)和用户自定义指令两种. 系统内部指令 ...
- Vue学习之路之登录注册实例代码
Vue学习之路之登录注册实例代码:https://www.jb51.net/article/118003.htm vue项目中路由验证和相应拦截的使用:https://blog.csdn.net/wa ...
- JAVA学习之路与大家分享
这是我四年以前总结的JAVA学习之路,希望对初学者或想从事JAVA开发的人有帮助. 本人是软件工程专业出身,先后学过C.C++.JAVA.VB.delphi等等开发语言以及网络相关管理技术.哎,好久不 ...
- Vue学习之路第一篇(学习准备)
1.开发工具的选择 这个和个人的开发习惯有关,并不做强求,厉害的话用记事本也可以.但是我还是建议用人气比较高的编辑工具,毕竟功能比较全面,开发起来效率比较高. 我之前写前端一直用的是sublimete ...
- Vue学习之路---No.2(分享心得,欢迎批评指正)
昨天我们大致了解了有关Vue的基础知识和语法:今天我们继续在大V这条路上前进. 首先,我们回忆一下昨天提到的相关知识点: 1.了解Vue的核心理念------"数据驱动视图" 2. ...
- Vue学习之路---No.6(分享心得,欢迎批评指正)
我们还是先回顾一下上一次的重点: 1.事件绑定,我们可以对分别用方法和js表达式对事件进行处理 2.当方法名带括号的时候,在方法中一定要传参:而不带括号的时候,vm会自动配置默认event 3.各类事 ...
- Vue学习之路---No.7(分享心得,欢迎批评指正)
老规矩,先回顾一下上回的重点: 1.对于input框,若为单选框,如果没有对其设置value,那么其checked的值将在true Or false之间切换:如果设置了value,那么将会切换valu ...
- Vue学习之路---No.3(分享心得,欢迎批评指正)
同样的,我们先来回顾一下昨天学习的内容: 1.利用v-once来组织双向绑定 2.filter{}过滤器的使用(详情请看上一章) 3.computed(计算属性),利用computed属性实现filt ...
- Vue学习之路---No.1(分享心得,欢迎批评指正)
首先为了打消大家对Vue.js存在的顾虑,先通过大家所熟知的JQ作为对比. 都知道JQ的语法相对简单.清楚.使用方便.功能齐全: 那么Vue.js呢,同样的,Vue.js与JQ在很多地方都是相同之处, ...
随机推荐
- Mac 电脑系统的重装
首先来说一下我为什么会想到重装Mac的系统呢??? 其实呢 很简单的一个理由,在我写上一个项目的时候,在功能code编写完成后,在模拟器上运行是完全没有问题的,但是在真机上就不行,大家也都知道,在X ...
- Lazy.js : 让 JavaScript 变懒
Lazy.js : 让 JavaScript 变懒 http://segmentfault.com/a/1190000000358463
- Linux笔记(十一) - 文件系统管理
(1)文件系统查看命令:df [选项] [挂载点]-a 显示所有文件系统信息,包括特殊文件系统,如/proc /sysfs-h 使用习惯单位显示容量,如KB,MB或GB-T 显示文件系统类型-m 以M ...
- C++ 头文件系列(vector)
简介 vector头文件包含vector的类模版以及该模版的显示特化版本vector< bool >. vector是C++容器库中非常通用的一种容器,如果你不知道该决定使用哪一种容器,或 ...
- 《JAVASCRIPT高级程序设计》创建对象的七种模式
细看javascript创建对象模式的诞生,具体的脉络为:不使用任何模式——工厂模式——构造函数模式——原型模式——组合使用构造函数模式——动态原型模式——寄生构造函数模式——稳妥构造函数模式.每一种 ...
- 自己开发轻量级ORM(二)
上一篇简单的对轻量级ORM开发开了个头.这篇主要聊下ORM框架的设计思路. ORM本质上是对数据库操作的抽象.大体上我将其分为对数据结构的抽象和对执行方法的抽象. 我的ORM设计图: ORM框架需要完 ...
- ElasticSearch5集群部署指南
本文简要介绍ES5版本集群部署时的要点. 更多相关信息请参阅官网. 部分配置未在生产环境体现. 生产中2个集群20台centOS,总数据15TB,90亿条. 实时写入5000条/s, 最大7万/s. ...
- hadoop系列一:hadoop集群安装
转载请在页首明显处注明作者与出处 http://www.cnblogs.com/zhuxiaojie/p/6384393.html 一:说明 此为大数据系列的一些博文,有空的话会陆续更新,包含大数据 ...
- UI进阶 即时通讯之XMPP好友列表、添加好友、获取会话内容、简单聊天
这篇博客的代码是直接在上篇博客的基础上增加的,先给出部分代码,最后会给出能实现简单功能的完整代码. UI进阶 即时通讯之XMPP登录.注册 1.好友列表 初始化好友花名册 #pragma mark - ...
- list、set、map以及array的区别
对于刚刚学习集合框架来说,如何选择list.set.map以及array是比较模糊的 在此我将对这四种情况做总结: array:数组,可以存储对象和基本数据类型,长度固定. Collection:集合 ...