用vue.js组件模拟v-model指令实例方法


Posted in Python onJuly 05, 2019

1、问题描述

在使用v-model指令实现输入框数据双向绑定,输入值时对应的这个变量的值也随着变化;但是这里不允许使用v-model,需要写一个组件实现v-model指令效果

<div id="user">
  <input type="text" v-model="username">
  <label>{{username}}</label>
</div>
 
<script>
  let v = new Vue({
    el:'#user',
    data:{
     username:'zhangsan'
    }
  })
</script>

2、实现源码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Vue模拟v-model指令</title>
		<script src="../js/vue.js"></script>
	</head>
	<body>
		<div id="datas">
			<input-model :value="num" @inputchange="num=arguments[0]"></input-model>
			<br>
			<span>
				{{num}}
			</span>
		</div>
		<script>
			Vue.component('input-model',{
				template:`<input type="text" :svalue="cvalue" @input="updateInput">`,
				computed: {
					cvalue() {
						return this.svalue 
					}
				},
				props:['svalue'],
				methods: {
					updateInput: function(event){
						let values = event.target.value
						this.$emit('inputchange',values)
					}
				}
			});
			
			let v = new Vue({
				el:'#datas',
				data: {
					num:'1'
				}
			})
		</script>
	</body>
</html>

3、注意事项

(1)父组件中使用子组件,绑定的inputchange必须小写,不能使用inputChange;

(2)子组件中的cvalue和计算属性中的要保持一致;

(3)子组件中的@input和父组件中的@inputchange没有必然关系;

(4)this.$emit('inputchange',values)中的inputchange要和DOM元素中的input-model一致

(5)父组件将num值通过props属性传到子组件中;子组件通过$emit触发当前实例上的事件,将改变的值传给父组件

内容扩展:

vue.js指令v-model实现方法

V-MODEL 是VUE 的一个指令,在input 控件上使用时,可以实现双向绑定。

通过看文档,发现他不过是一个语法糖。

实际是通过下面的代码来实现的:

<%@ page language="java" contentType="text/html; charset=utf-8"
 pageEncoding="utf-8"%>
<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <script type="text/javascript" src="vue/vue.js"></script>
</head>
<body>
 <div id="app-6">
 <input :value="person.name" @input="person.name = $event.target.value">
 <input :value="person.age" @input="person.age =$event.target.value">
 {{person}}
 </div>
 <script type="text/javascript">
 var app =new Vue({
 el: '#app-6',
 data:{
 person:{name:"ray",age:19}
 }
 })
 </script>
</body>
</html>
Python 相关文章推荐
把MySQL表结构映射为Python中的对象的教程
Apr 07 Python
python处理大数字的方法
May 27 Python
Python中的字符串类型基本知识学习教程
Feb 04 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
Feb 07 Python
python学生管理系统代码实现
Apr 05 Python
Sanic框架基于类的视图用法示例
Jul 18 Python
influx+grafana自定义python采集数据和一些坑的总结
Sep 17 Python
Django利用cookie保存用户登录信息的简单实现方法
May 27 Python
在SQLite-Python中实现返回、查询中文字段的方法
Jul 17 Python
pytorch 指定gpu训练与多gpu并行训练示例
Dec 31 Python
解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
Jun 12 Python
Python实现简单的猜单词
Jun 15 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
Jul 05 #Python
Python 计算任意两向量之间的夹角方法
Jul 05 #Python
python实现两个经纬度点之间的距离和方位角的方法
Jul 05 #Python
Python3+Appium实现多台移动设备操作的方法
Jul 05 #Python
Python PIL读取的图像发生自动旋转的实现方法
Jul 05 #Python
python读出当前时间精度到秒的代码
Jul 05 #Python
python读写csv文件方法详细总结
Jul 05 #Python
You might like
PHP生成静态页
2006/11/25 PHP
两级联动select刷新后其值保持不变的实现方法
2014/01/27 PHP
php+js实现异步图片上传实例分享
2014/06/02 PHP
基于PHP实现用户注册登录功能
2016/10/14 PHP
Laravel 实现添加多语言提示信息
2019/10/25 PHP
javascript 自动填写表单的实现方法
2010/04/09 Javascript
jquery中实现简单的tabs插件功能的代码
2011/03/02 Javascript
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
javascript中的=等号个数问题两个跟三个有什么区别
2013/10/23 Javascript
js原型继承的两种方法对比介绍
2014/03/30 Javascript
JavaScript 模块化编程(笔记)
2015/04/08 Javascript
js实现每日自动换一张图片的方法
2015/05/04 Javascript
js中常用的Math方法总结
2017/01/12 Javascript
Nodejs读取文件时相对路径的正确写法(使用fs模块)
2017/04/27 NodeJs
详解JavaScript事件循环机制
2018/09/07 Javascript
这应该是最详细的响应式系统讲解了
2019/07/22 Javascript
vue动态子组件的两种实现方式
2019/09/01 Javascript
flexible.js实现移动端rem适配方案
2020/04/07 Javascript
[03:32]2014DOTA2西雅图邀请赛 CIS外卡赛赛前black专访
2014/07/09 DOTA
Python Pandas找到缺失值的位置方法
2018/04/12 Python
python+django+rest框架配置创建方法
2019/08/31 Python
python使用HTMLTestRunner导出饼图分析报告的方法
2019/12/30 Python
Python API len函数操作过程解析
2020/03/05 Python
浅谈python的elementtree模块处理中文注意事项
2020/03/06 Python
Python requests模块session代码实例
2020/04/14 Python
css3 实现圆形旋转倒计时
2018/02/24 HTML / CSS
使用html2canvas实现浏览器截图的示例代码
2018/01/26 HTML / CSS
简洁自适应404页面HTML好看的404源码
2020/12/16 HTML / CSS
Sephora丝芙兰澳洲官方网站:国际知名化妆品购物
2016/10/27 全球购物
消防战士优秀事迹材料
2014/02/13 职场文书
借款协议书范本
2014/04/22 职场文书
代办委托书怎么写
2014/08/01 职场文书
领导欢迎词致辞
2015/01/23 职场文书
2016情人节宣传语
2015/07/14 职场文书
2016关于学习党章的心得体会
2016/01/15 职场文书
导游词之藏龙百瀑景区
2019/12/30 职场文书