过滤器实质不改变原始数据,只是对数据进行加工处理后返回过滤后的数据再进行调用处理,我们也可以理解其为一个纯函数
vue中的过滤器可以用在两个地方:双花括号插值和v-bind表达式,过滤器应该被添加在JavaScript表达式的尾部,由“管道”符号指示:
过滤器函数总接收表达式的值 (之前的操作链的结果) 作为第一个参数。在上述例子中,capitalize过滤器函数将会收到message的值作为第一个参数
在这个例子中,filterA被定义为接收单个参数的过滤器函数,表达式message的值将作为参数传入到函数中半岛电竞半岛电竞。然后继续调用同样被定义为接收单个参数的过滤器函数filterB,将filterA的结果传递到filterB中。
其中message的值作为第一个参数,普通字符串arg1作为第二个参数净化器,表达式arg2的值作为第三个参数
平时开发中,需要用到过滤器的地方有很多半岛电竞,比如单位转换、数字打点、文本格式化、时间格式化之类的等
比如我们要实现将30000 =>
30,000净化器,这时候我们就需要使用过滤器
在模板编译阶段过滤器表达式将会被编译为过滤器函数,主要是用过parseFilter半岛电竞网站s,我们放到最后讲
内部直接调用resolveAsset,将option对象,类型,过滤器i半岛电竞网站d,以及一个触发警告的半岛电竞网站标志作为参数传递,如果找到,则返回过滤器;
_s函数的全称是toString,过滤器处理后的结果会当作参数传递给toString函数,最终toString函数执行后的结果会保存到Vnode中的text属性中,渲染到视图中
最后,在分析下parseFilters半岛电竞,在模板编译阶段使用该函数阶段将模板过滤器解析为过滤器函数调用表达式