Vue(2)| 青训营笔记

78 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 14 天

过滤器、侦听器

过滤器

过滤器### Filters(只能在vue2中使用)

过滤器 (Filters)是 vue 为开发者提供的功能,常用于文本的格式化。过滤器可以用在两个地方: 插值表达式和 v-bind 属性绑定 过滤器应该被添加在JavaScript 表达式的尾部,由“管道符”进行调用,示例代码如下:

image.png

image.png

p标签里面看到的是后面函数的返回值,message相当于作为参数传给后面。竖线代表要调用过滤器。

过滤器函数必须定义到filters节点之下,过滤器的本质是函数。

字符串charAt()方法表示从字符串中把索引对应的字符豁出来。

.toUpperCase:字符大写

私有和全局过滤器

在 filters 节点下定义的过滤器,称为“私有过滤器”[因为它只能在当前 vm 实例所控制的 el 区域内使用如果希望在多个 vue 实例之间共享过滤器,则可以按照如下的格式定义全局过滤器:

image.png 注意!若全局和私有名字相同,调用的是私有过滤器

连续调用多个过滤器

就是相当于链式,上一个过滤器的处理结果传给下一个过滤器处理

image.png

过滤器传参

image.png

侦听器

watch侦听器

watch侦听器允许开发者监视数据变化,从而对数据的变化做特定的操作

所有的侦听器,都应该被定义到watch节点

语法格式:

①方法格式的侦听器

缺点: a、无法在刚进入界面时,就自动触发。

b、如果侦听的是一个对象,对象里面的属性发生变化不会触发侦听器

监听谁就把谁做名字

②对象格式监听器

好处:

a.可以通过immediate选项,让侦听器自动触发

  b.可以通过deep选项,让对象里面的属性变化也能触发侦听器

immediate选项

image.png immediate默认值是false,true——自动触发一次。表示当前页面渲染好之后,立即触发watch侦听器。

deep选项

开启深度监听,只要对象中任何一个属性变化了,都会触发对象的侦听器

  deep:true——开启深度监听

 如果想要侦听对象中的某一个属性,则必须包裹一层单引号。例如:

watch{
  'info.username'(newVal){
    console.log(newVal)
   }
}