这里说声抱歉,周末因为有其他事,没有更新博客,那么我们今天继续上周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(分享心得,欢迎批评指正)的更多相关文章

  1. vue学习之路 - 4.基本操作(下)

    vue学习之路 - 4.基本操作(下) 简述:本章节主要介绍 vue 的一些其他常用指令. Vue 指令 这里将 vue 的指令分为系统内部指令(vue 自带指令)和用户自定义指令两种. 系统内部指令 ...

  2. Vue学习之路之登录注册实例代码

    Vue学习之路之登录注册实例代码:https://www.jb51.net/article/118003.htm vue项目中路由验证和相应拦截的使用:https://blog.csdn.net/wa ...

  3. JAVA学习之路与大家分享

    这是我四年以前总结的JAVA学习之路,希望对初学者或想从事JAVA开发的人有帮助. 本人是软件工程专业出身,先后学过C.C++.JAVA.VB.delphi等等开发语言以及网络相关管理技术.哎,好久不 ...

  4. Vue学习之路第一篇(学习准备)

    1.开发工具的选择 这个和个人的开发习惯有关,并不做强求,厉害的话用记事本也可以.但是我还是建议用人气比较高的编辑工具,毕竟功能比较全面,开发起来效率比较高. 我之前写前端一直用的是sublimete ...

  5. Vue学习之路---No.2(分享心得,欢迎批评指正)

    昨天我们大致了解了有关Vue的基础知识和语法:今天我们继续在大V这条路上前进. 首先,我们回忆一下昨天提到的相关知识点: 1.了解Vue的核心理念------"数据驱动视图" 2. ...

  6. Vue学习之路---No.6(分享心得,欢迎批评指正)

    我们还是先回顾一下上一次的重点: 1.事件绑定,我们可以对分别用方法和js表达式对事件进行处理 2.当方法名带括号的时候,在方法中一定要传参:而不带括号的时候,vm会自动配置默认event 3.各类事 ...

  7. Vue学习之路---No.7(分享心得,欢迎批评指正)

    老规矩,先回顾一下上回的重点: 1.对于input框,若为单选框,如果没有对其设置value,那么其checked的值将在true Or false之间切换:如果设置了value,那么将会切换valu ...

  8. Vue学习之路---No.3(分享心得,欢迎批评指正)

    同样的,我们先来回顾一下昨天学习的内容: 1.利用v-once来组织双向绑定 2.filter{}过滤器的使用(详情请看上一章) 3.computed(计算属性),利用computed属性实现filt ...

  9. Vue学习之路---No.1(分享心得,欢迎批评指正)

    首先为了打消大家对Vue.js存在的顾虑,先通过大家所熟知的JQ作为对比. 都知道JQ的语法相对简单.清楚.使用方便.功能齐全: 那么Vue.js呢,同样的,Vue.js与JQ在很多地方都是相同之处, ...

随机推荐

  1. PKU-1704-Georgia and Bob

    题目链接 http://poj.org/problem?id=1704 这个题目是个好题,没有两下子是做不出的,其中考到,要你排序,如何把题目化成我们熟知的东西, 在这个题中我开始用选择法排序,他给我 ...

  2. Goldengate双向复制配置

    一.Goldengate双向复制配置 1.1.在进行如下配置之前,先在源数据库source system(原来的目标数据库)端 添加辅助的redolog配置: SQL>alter databas ...

  3. POJ2503(hash)

    Babelfish Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 41263   Accepted: 17561 Descr ...

  4. 2017了,回家前 "年末" 分享:下雨,飘雪,红包雨,碰撞球,自定义View

    (本博客为原创:http://www.cnblogs.com/linguanh/) 目录: 效果展示 感想 代码拆解 开源地址 效果展示 有没有兴趣继续看下去,直接看下"颜值"是第 ...

  5. quagga源码学习--BGP协议路由更新

    BGP的核心就是交换路由,所以关键的部分还是在路由的更新与撤销上面,这之间包含了冗长的属性,community等等处理过程,不做详述. bgp_read函数是路由更新的事件处理函数,在收到BGP_MS ...

  6. CI Weekly #13 | 用更 Geek 的方式配置你的 CI 工作流

    flow.ci 的重大更新来了--支持通过 .yml 文件配置工作流(测试阶段),具体的使用方法可参考文档:同时 flow.ci 也开放了社区>> club.flow.ci,使用的任何问题 ...

  7. node之路由介绍

    路由介绍 ----路由是指向客户端提供它所发出的请求内容的机制:----对基于 Web 的客户端 / 服务器端程序而言,客户端在 URL 中指明它想要的内容,具体来说就是路径和查询字符串 下面我看看一 ...

  8. Linux下tomcat的安装与项目部署

    最近在linux下安装了jdk,为了圆我以前的心愿,把tomcat也安装了,顺便部署个项目,也算是小又成就感 废话不说了,直接上过程 一.下载安装对应的jdk,并配置Java环境. 有关jdk的安装请 ...

  9. 蓝桥网试题 java 基础练习 特殊回文数

    ------------------------------------------------------------------------------------- 简单点,对话的方式简单点 有 ...

  10. Cesium原理篇:glTF

    关键字:Cesium glTF WebGL技术 大纲: 1 glTF简介,这是一个什么东西,有哪些特点 2 Cesium如何加载,渲染glTF,逻辑结构和关键技术 3 个人总结,从glTF学习如何设计 ...