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原生封装的 ...
随机推荐
- Angularjs $http.post
$http.post 采用postJSON方式发送数据到后台. 如果不需要发送json格式数据,序列化成&连接的字符串,形如:"a=1&b=2",最终完整的前端解决 ...
- Openresty支持HTTP2
1. 下载openresty-1.13.6.1.tar.gz和openssl-1.0.2l.tar.gz,并解压 下载对应的软件版本,创建openresty_http2安装路径 2. 安装openre ...
- action(四)
void ActionDelayTime::onEnter() { ActionsDemo::onEnter(); alignSpritesLeft(); CCActionInterval* move ...
- C++虚函数解析(转载)
虚函数详解第一篇:对象内存模型浅析 C++中的虚函数的内部实现机制到底是怎样的呢? 鉴于涉及到的内容有点多,我将分三篇文章来介绍. 第一篇:对象内存模型浅析,这里我将对对象的内存模型进 ...
- Logstash日志字段拆分grok
参考和测试网站:http://grokdebug.herokuapp.com 例如:test-39.dev.abc-inc.com Mon Apr 24 13:53:58 CST 2017 2017- ...
- dp之多重背包poj1276
题意:有现今cash,和n种钱币,每种钱币有ni个,价值为di,求各种钱币组成的不超过cash的最大钱数....... 思路:二进制拆分转化为01背包,或者转化为完全背包都是可以的. 反思:这个题目我 ...
- EF常用查询语句
//方法一 Linq to Entities var info = from p in entity.Users where p.ID >= 10 orderby p.ID ...
- Streams:深入剖析Redis5.0全新数据结构
Streams:深入剖析Redis5.0全新数据结构 原创: 阿飞的博客 Redis 5.0 全新的数据类型:streams,官方把它定义为:以更抽象的方式建模日志的数据结构.Redis的st ...
- 二分 + 模拟 - Carries
Carries Problem's Link Mean: 给你n个数,让你计算这n个数两两组合相加的和进位的次数. analyse: 脑洞题. 首先要知道:对于两个数的第k位相加会进位的条件是:a%( ...
- [ACM] FZU 2086 餐厅点餐 (枚举)
roblem Description Jack近期喜欢到学校餐厅吃饭.好吃干净还廉价. 在学校餐厅.有a种汤,b种饭.c种面条,d种荤菜,e种素菜. 为了保证膳食搭配,Jack每顿饭都会点1~2样荤菜 ...