直接修改html文本页面没变化,VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析...
本文实例讲述了VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法。分享给大家供大家参考,具体如下:
业务场景
我们在使用vue 编写 代码时,我们有一个 多行文本框控件,希望在页面点击一个按钮 在 文本框焦点位置插入一个 {pk}的数据。
发现插入 这个数据后,这个数据并没有同步到 数据中,但是直接通过键盘输入,就可以改变数据。
原因分析
在通过 JS 修改控件的value 数据后,并没有触发到数据更新。
解决办法
Vue.component('rx-textarea', {
props: {
value:[String,Number],
cols: {
type: Number,
default: 60
},
rows: {
type: Number,
default: 4
}
},
data() {
return {
curVal:this.value
}
},
template: "
methods:{
change:function(e){
this.$emit('input', e.target.value);
},
focus:function(e){
this.$emit('myfocus', e);
}
},
watch: {
curVal: function (val, oldVal){
this.$emit('input', this.curVal);
},
value :function(val,oldVal){
if(val!=oldVal){
this.curVal=this.value;
}
}
}
})
当文本框获取焦点时,我们发布一个 myfocus 控件,我们在使用这个控件的时候。
编写一个 getTextarea 的方法。
var curTextarea=null;
function getTextarea(e){
curTextarea= e.target;
}
这里将文本框控件,抛出来,我们可以通过 js代码修改这个控件的value。
function insertPK(){
$.insertText(curTextarea,"{pk}")
}
通过这个代码我们往焦点处插入我们的代码。
当文本框失去焦点时,将当前控件的值作为 input 事件进行发布,从而实现了数据的同步。
希望本文所述对大家vue.js程序设计有所帮助。
直接修改html文本页面没变化,VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析...相关推荐
- ajax没返回响应数据,jQuery的Ajax时无响应数据的解决方法
jQuery的Ajax时无响应数据的解决方法 复制代码 代码如下: $.ajax( { type: "POST", url: "/MemberComment.aspx/G ...
- ios 底部用定位 fixed。在软件盘出来后,页面元素被顶上去一部分,fixed定位的footer也跑到了上面去。解决方法...
ios 底部用定位 fixed.在软件盘出来后,页面元素被顶上去一部分,fixed定位的footer也跑到了上面去.解决方法 $("input").focus(function() ...
- ios系统微信浏览器、safari浏览器中h5页面上拉下滑导致悬浮层脱离窗口的解决方法
ios系统微信浏览器.safari浏览器中h5页面上拉下滑导致悬浮层脱离窗口的解决方法 参考文章: (1)ios系统微信浏览器.safari浏览器中h5页面上拉下滑导致悬浮层脱离窗口的解决方法 (2) ...
- elementUI更改icon图标尺寸、圆形按钮尺寸方法,以及css修改页面没变化为题
icon图标尺寸修改 在做博客的时候,用到了element的图标,却修改不了大小,后来知道这个图标是通过font-size设置大小. html代码: <i class="el-icon ...
- 传奇霸业服务器没响应,腾讯传奇霸业怎么玩不了 腾讯传奇霸业进不去解决方法...
腾讯传奇霸业怎么玩不了?在玩游戏的过程中可能遇到过黑屏.闪退.进不去游戏的问题,下面跟小编一起来看看这篇腾讯传奇霸业进不去解决方法吧! 腾讯传奇霸业怎么玩不了 1.网络不稳定 大部分网络不稳定时会造成 ...
- 修改系统时间导致myeclipse不能自动发布的解决方法
今天为了测试开发的系统时间,在myeclipse打开的情况下修改了系统时间,当我测试完毕,再把系统时间改回来后,问题出现了,不管怎么改程序,myeclipse主是不能自动将修改后的文件发布到tomca ...
- 前端开发:Vue报错Computed property “show“ was assigned to but it has no setter的解决方法
前言 在前端开发中,使用Vue的时候关于组件使用是非常常见的操作,而且也会遇到各式各样的问题,尤其是刚接触前端开发的开发者.本篇博文分享一下在封装关于Vue的组件的时候,通过计算属性监听父子组件传值提 ...
- linux显示屏没信号,电脑开机显示器无信号然后黑屏怎么办|电脑黑屏没有信号的解决方法...
有很多用户向小编反馈,电脑开机后会听到滴的一声,并且显示器上面显示无信号,之后就黑屏了,重启也没有用,这是怎么回事呢?遇到电脑开机显示器无信号然后黑屏怎么办?这很有可能是电脑主机与显示器之间的数 ...
- vue数据修改之后没有同步渲染出来,需要点一下屏幕才会进行页面更新(原因和解决方法)
这是一个很奇怪的问题,当时需要做一个状态判断,设置了一个布尔值 edit:false 如果是false则显示按钮A, 反之则显示按钮B, 但真正使用的时候出现了问题,当点击之后,edit数值变成了tr ...
最新文章
- R语言dplyr包mutate_if函数修改所有满足条件的数据列的内容实战
- python难不难学-超级适合新手学习的python教程,入门其实不难?
- Notepad++免费开源文本编辑器
- mysql linux-syn25000是什么_当MySQL数据库遇到Syn Flooding
- mybatis学习(42):mybatis的一级缓存
- Java面向对象的三大特征(封装,继承,多态)
- Windows编程—Windows驱动开发环境搭建
- androidpn 推送初探
- Minimum edit distance(levenshtein distance)(最小编辑距离)初探
- Ionic开发App中重要的部分
- linux代码折叠,VIM 代码折叠 :set foldmethod=marker
- 计算机编程算法和数学有什么关系?
- linux 快速 命令快捷键,Linux的150个命令和快捷键 整理
- 如何打开计算机的Oracle服务,win10系统手动启动oracle服务的操作方法
- linux系统可以在移动硬盘,如何在移动硬盘上装LINUX系统?
- mysql默认字符核对_【sql查询与优化】5.使用字符串
- 南非银行“内鬼”偷走主密钥,后将更换1200万张客户卡,损失惨重
- 【转】 http请求包含什么
- 出行必备 酷讯全面锁定“秒杀票”
- 时无英雄,使竖子成名!
热门文章
- C# Winform 窗体美化(八、Icon)
- 第三章 组装个人计算机
- OpenGL 入门第一课 视窗以及三角形
- Spring整合JDBC开发
- webpack入坑指南
- mysql call procedure into_mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量...
- org.apache.hadoop.security.AccessControlException: Permission denied: user=anonymous, access=EXECUTE
- mysql怎样实现先判断后联合_MYSQ创建联合索引,字段的先后顺序,对查询的影响分析...
- android自动生成cardview,学习使用Material Design控件(三)使用CardView实现卡片效果...
- chrome切换前端模式_Chrome调试工具developer tool技巧 - 轩枫阁