自定义指令 限制input 的输入位数
2024-08-31 19:41:34
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>限制input输入的位数</title>
</head>
<body>
<div id="app">
<input type="text" v-split.5="msg"/>
</div>
</body>
<script src="./node_modules/vue/dist/vue.js"></script>
<script>
//设置input 的输入位数
Vue.directive('split',{
update(el,bindings,vnode) {
console.log(bindings);
let [,len] = bindings.rawName.split('.');
console.log(len)
let ctx = vnode.context; //msg
el.addEventListener('input',(e)=>{
let val = e.target.value.slice(0,len);
ctx[bindings.expression]=val;
el.value = val;
})
//默认值
el.value=ctx[bindings.expression];
},
bind(el,bindings,vnode) {
let ctx = vnode.context; //msg
let [,len] = bindings.rawName.split('.');
el.addEventListener('input',(e)=>{
let val = e.target.value.slice(0,len);
ctx[bindings.expression]=val;
el.value = val;
})
//默认值
el.value=ctx[bindings.expression];
}
})
let vm = new Vue({
el:"#app",
data() {
return {
msg:'a'
}
}
})
</script>
</html>
el,bindings,vnode
el表示 html 元素
bindings 表示绑定的元素上的属性
vnode 表示绑定元素的虚拟node
最新文章
- Neo4j Index Notes
- Linux 学习笔记 Linux环境变量初稿
- 自定义控制器的View(loadView)及其注意点
- 14.6.3.5 Configuring InnoDB Buffer Pool Flushing
- WAS
- centos扩容(pv,vg,lv)
- ImageLoader的使用
- Css实现checkbox及radio样式自定义
- Go语言打造以太坊智能合约测试框架(level2)
- python简介和python工具的选择
- 2019-04-22-day037-数据库的安装
- Centos7 启动脚本
- 【转】基于Python的接口测试框架实例
- pandas的日常笔记--查询
- Java与PHPweb开发比较
- POJ:3083 Children of the Candy Corn(bfs+dfs)
- jq的$(function(){})与window.onload的区别
- C#单元测试Nunit小结(20141018)
- CUPOJ6242: LHC的二进制升级版
- Jenkins持续集成企业实战系列之Jenkins配置演示-----03
热门文章
- from sklearn import datasets运行错误:ImportError: DLL load failed: 找不到指定的程序------解决办法
- mybaits<;set>;标签的使用
- 卡方检验(python代码实现)
- linux fedora原生的快捷键操作
- 2018 icpc 青岛
- 使用Postman对HTTP接口进行功能测试
- 【MM系列】SAP 各种冲销凭证
- cocos2dx基础篇(11) 点九图CCScale9Sprite
- selenium:css_selector定位详解(css selector和xpath的比较)
- win10安装mysql时报错[MY-012576] [InnoDB] Unable to create temporary file; errno: 2