Vue基础-在模板中使用过滤器
Vue 测试版本:Vue.js v2.5.13
官网给了过滤器的两种使用方式:
1、你可以在一个组件的选项中定义本地的过滤器:
结合实例,我给两个代码:
<div id="app">
<input
type="text"
v-model="id"
placeholder="please enter your id"
/>
<p>your id is: {{ id| formatId }}</p>
</div>
window.onload = function() {
new Vue({
el: '#app',
data: {
id: ''
},
filters: {
formatId(v) {
return v.length < 10 && v.length > 0 ? v.padStart(10, '0') : v;
}
},
});
};
2、在创建 Vue 实例之前全局定义过滤器:
方式 2 换一种 js 就行,html 不用变:
window.onload = function() {
Vue.filter('formatId', function(v) {
return v.length < 10 && v.length > 0 ? v.padStart(10, '0') : v;
});
new Vue({
el: '#app',
data: {
id: ''
},
});
};
比较好理解,但是我觉得可以完善下,因为上面都没有用模板;
如果用了模板,第一种就失效了,只有第二种可行:
<div id="app">
<my-ele :id="id"></my-ele>
</div>
window.onload = function() {
Vue.component('my-ele', {
template: `
<div>
<input type="text" v-model="id"/>
<p>you id: {{id | formatId}}</p>
</div>
`,
props: ['id']
});
Vue.filter('formatId', function(v) {
return v.length < 10 && v.length > 0 ? v.padStart(10, '0') : v;
});
new Vue({
el: '#app',
data: {
id: ''
}
});
};
虽然 开发环境下 会报错,但不影响功能,

如果把 js 换成第一种,就会失败:
window.onload = function() {
Vue.component('my-ele', {
template: `
<div>
<input type="text" v-model="id"/>
<p>you id: {{id | formatId}}</p>
</div>
`,
props: ['id']
});
new Vue({
el: '#app',
data: {
id: ''
},
filters: {
formatId(v) {
return v.length < 10 && v.length > 0 ? v.padStart(10, '0') : v;
}
}
});
};
功能失效;
如果采用 render() 函数,就更复杂了些,详情戳 Vue-双向绑定:从 html 到 模板 到 渲染函数
参考文档:
https://cn.vuejs.org/v2/guide/filters.html
Vue基础-在模板中使用过滤器的更多相关文章
- Vue基础项目模板
https://github.com/wanglong/vue-element-admin.git 优化 Vue CLI 3 构建的前端项目模板(1)- 基础项目模板介绍 一站式开源运维平台,分享给大 ...
- Django 模板中 变量 过滤器的使用方法
一.变量 1.变量的形式是:{{variable}}, 当模板引擎碰到变量的时候,引擎使用变量的值代替变量. 2.使用dot(.)能够访问变量的属性 3.当模板引擎碰到dot的 ...
- Django 模板中 变量 过滤器 标签 的使用方法
一.变量 1.变量的形式是:{{variable}}, 当模板引擎碰到变量的时候,引擎使用变量的值代替变量. 2.使用dot(.)能够访问变量的属性 3.当模板引擎碰到dot的 ...
- flask的jinja2模板中过过滤器的相关小内容
jinja2模板中有自带的过滤器,有需要直接拿来使用.也可以自己定义过滤器 在过滤器中,有一些常见得操作及关键字.有对字符串的操作,还有对大小写转换的操作.还有对list的操作 过滤器的语法 {# 过 ...
- vue(基础二)_组件,过滤器,具名插槽
一.前言 主要包括: 1.组件(全局组件和局部组件) 2.父组件和子组件之间的通信(单层) 3.插槽和具名插槽 ...
- 测试开发之Django——No7.Django模板中的过滤器
1.add 将参数添加到值. 例如: {{ value|add:"2" }} 如果value是4,那么输出将是6. 此过滤器将首先尝试将两个值强制转换为整数.如果失败,它将尝试将值 ...
- Flask的jinja2模板中自定义过滤器的使用
大部分的模板引擎都是支持过滤器功能的,jinja2也不例外,它提供了丰富的内置过滤器,但是有些时候还是没办法满足我们的需求,好在jinja2支持自定义过滤器,下面是一个简单的例子. 下面的例子完成了自 ...
- WPF 基础 - 在模板中找元素
1. 在 ControlTemplate 中寻找元素 <Window.Resources> <ControlTemplate x:Key="cTmp"> & ...
- VUE基础实用技巧
Vue以前听说过,有了解过一点.当时还在热衷于原生JavaScript去写一些方法的封装,不是为啥,就感觉这样很帅,后面多多少少接触了一些JQuery的用法,到现在为止,JavaScript原生封装的 ...
随机推荐
- MYSQL服务器复制配置
首先声明:此文是在失去U盘极度郁闷的时候写的,有些零散,估计也有错误.欢迎大家指出 MYSQL服务器复制配置 这是根据我之前看的MYSQL复制的文档然后自己亲自实验的过程.配置的功能比较简单. ...
- Django Drops
1.Django Intro 2.Django Install (1) PIP安装 sudo apt-get isntall python-pip sudo pip install Django (2 ...
- Lambda编写斐波那契数列
还需要考虑溢出等问题,闲来无事写了写 Func<float, float, float> a = (arg1, arg2) => 0f;//init ; a = (lastNumbe ...
- Hadoop单机Hadoop测试环境搭建
Hadoop单机Hadoop测试环境搭建: 1. 安装jdk,并配置环境变量,配置ssh免密码登录 2. 下载安装包hadoop-2.7.3.tar.gz 3. 配置/etc/hosts 127.0. ...
- 本次安装Lion记录
黑苹果驱动之家 http://it360.org.cn/ Mac安装在Macintosh上是没什么好讲的,也没什么难度,原生的东西.但每次Mac安装在PC上总能折腾一番,驱动.五国.各种报错..今天记 ...
- LoadRunner “add measurements”(添加度量)菜单问题
HP LoadRunner 11版本 配置
- 使用filter解决request.getParameter的中文乱码问题
注意:一般一个站点的所有页面的编码,包括数据库编码都要保持一致,下面默认的编码都是UTF-8 ----------------------------------例1:直接提交到jsp页面------ ...
- Phoenix的数据类型和操作符、函数
其实官方文档已经有这些东西了,如下: http://phoenix.apache.org/language/functions.html http://phoenix.apache.org/langu ...
- C语言 · 数对
算法训练 数对 时间限制:1.0s 内存限制:512.0MB 问题描述 编写一个程序,该程序从用户读入一个整数,然后列出所有的数对,每个数对的乘积即为该数. 输入格式:输入只有一行, ...
- php 模板框架之smarty 的下载和安装
Smarty 官网: http://www.smarty.net/ Smarty 下载: https://github.com/smarty-php/smarty/releases/tag/v3.1. ...