用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 相关文章推荐
python算法学习之计数排序实例
Dec 18 Python
python基于phantomjs实现导入图片
May 13 Python
python 网络编程详解及简单实例
Apr 25 Python
Python基于正则表达式实现文件内容替换的方法
Aug 30 Python
Python中Flask-RESTful编写API接口(小白入门)
Dec 11 Python
为什么黑客都用python(123个黑客必备的Python工具)
Jan 31 Python
django3.02模板中的超链接配置实例代码
Feb 04 Python
13个Pandas实用技巧,助你提高开发效率
Aug 19 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
Sep 28 Python
基于Python采集爬取微信公众号历史数据
Nov 27 Python
Flask处理Web表单的实现方法
Jan 31 Python
一些让Python代码简洁的实用技巧总结
Aug 23 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&amp;mysql(四)
2006/10/09 PHP
深入PHP操作MongoDB的技术总结
2013/06/02 PHP
PHP 快速排序算法详解
2014/11/10 PHP
Thinkphp5.0 框架实现控制器向视图view赋值及视图view取值操作示例
2019/10/12 PHP
url参数中有+、空格、=、%、&amp;、#等特殊符号的问题解决
2013/05/15 Javascript
js 用CreateElement动态创建标签示例
2013/11/20 Javascript
深入理解JavaScript是如何实现继承的
2013/12/12 Javascript
21个值得收藏的Javascript技巧
2014/02/04 Javascript
[将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
2014/08/18 Javascript
浅谈JavaScript数据类型
2015/03/03 Javascript
JavaScript面对国际化编程时的一些建议
2015/06/24 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
2016/07/11 Javascript
浅谈jQuery中hide和fadeOut的区别 show和fadeIn的区别
2016/08/18 Javascript
详解Angular.js指令中scope类型的几种特殊情况
2017/02/21 Javascript
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
2019/05/13 Javascript
使用python实现baidu hi自动登录的代码
2013/02/10 Python
Python读取mp3中ID3信息的方法
2015/03/05 Python
Python处理文本文件中控制字符的方法
2017/02/07 Python
fastcgi文件读取漏洞之python扫描脚本
2017/04/23 Python
Python对HTML转义字符进行反转义的实现方法
2019/04/28 Python
Python中 CSV格式清洗与转换的实例代码
2019/08/29 Python
Python实现图片批量加入水印代码实例
2019/11/30 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
tensorflow 实现从checkpoint中获取graph信息
2020/02/10 Python
深入了解python列表(LIST)
2020/06/08 Python
Python unittest基本使用方法代码实例
2020/06/29 Python
启动一个线程是用run()还是start()
2016/12/25 面试题
毕业生自我鉴定
2013/12/04 职场文书
培训心得体会
2013/12/29 职场文书
会计岗位职责范本
2014/03/07 职场文书
小学开学标语
2014/07/01 职场文书
艺术设计专业毕业生推荐信
2014/07/08 职场文书
委托书如何写
2014/08/30 职场文书
《七律·长征》教学反思
2016/02/16 职场文书
《小摄影师》教学反思
2016/02/18 职场文书
简单聊一聊SQL注入及防止SQL注入
2022/03/23 MySQL