Vue.set()实现数据动态响应的方法


Posted in Javascript onFebruary 07, 2018

在vue里面,我们操作最多的就是各种数据,在jquery里面,我们习惯通过下标定向找到数据,然后重新赋值

比如var a[0]=111;(希望上家公司原谅菜鸟的我写了不少这样的代码?)

下面上代码

<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script src="./js/vue.min.js"></script>
</head>
<body>
  <div id="app">
     <ul>
       <li v-for="item in listData">{{item}}</li>
    </ul>
    <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" v-text="he" @click="changeData()"></a>
  </div>
</body>
<script>
  new Vue({
    el:"#app",
    data:{
      he:"点我",
      listData:["a","b","c"]
     },
    methods:{
       changeData () {
         this.listData[0]="d";
       }
      }
  })
</script>
</html>

当我点击按钮时候,发现没有任何变化,页面上还是a,b,c

Vue.set()实现数据动态响应的方法

vue当然不会这么菜呢

下面是伟大的vue内置的方法来了

Vue.set() 官方解释: 设置对象的属性。如果对象是响应式的,确保属性被创建后也是响应式的,同时触发视图更新。这个方法主要用于避开 Vue 不能检测属性被添加的限制。

我的理解就是触发视图重新更新一遍,数据动态起来

Vue.set(a,b,c)

a是要更改的数据 b是数据的第几项 c是更改后的数据

解决上面数据不能更改后的代码

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script src="./js/vue.min.js"></script>
</head>
<body>
  <div id="app">
     <ul>
       <li v-for="item in listData">{{item}}</li>
    </ul>
    <a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" v-text="he" @click="changeData()"></a>
  </div>
</body>
<script>
  new Vue({
    el:"#app",
    data:{
      he:"点我",
      listData:["a","b","c"]
     },
    methods:{
       changeData () {
         Vue.set(this.listData,0,'X')
       }
      }
  })
</script>
</html>

我们可以看到,this.listData数组的第一项已经被更改了

Vue.set()实现数据动态响应的方法

总结

以上所述是小编给大家介绍的Vue.set()实现数据动态响应的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
javascript 学习笔记(一)DOM基本操作
Apr 08 Javascript
表单JS弹出填写提示效果代码
Apr 16 Javascript
整理8个很棒的 jQuery 倒计时插件和教程
Dec 12 Javascript
javascript上下方向键控制表格行选中并高亮显示的方法
Feb 13 Javascript
js正则表达式中exec用法实例
Jul 23 Javascript
AngularJS中watch监听用法分析
Nov 04 Javascript
js实现tab选项卡切换功能
Jan 13 Javascript
一篇文章让你彻底弄懂JS的事件冒泡和事件捕获
Aug 14 Javascript
原生实现一个react-redux的代码示例
Jun 08 Javascript
Node.js + express基本用法教程
Mar 14 Javascript
Js通过AES加密后PHP用Openssl解密的方法
Jul 12 Javascript
解决Layui中templet中a的onclick参数传递的问题
Sep 20 Javascript
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
Feb 07 #Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
Feb 07 #Javascript
vue进行图片的预加载watch用法实例讲解
Feb 07 #Javascript
Angular浏览器插件Batarang介绍及使用
Feb 07 #Javascript
详解JS数值Number类型
Feb 07 #Javascript
vue几个常用跨域处理方式介绍
Feb 07 #Javascript
vue项目中axios使用详解
Feb 07 #Javascript
You might like
phpMyAdmin下载、安装和使用入门教程
2007/05/31 PHP
php开发过程中关于继承的使用方法分享
2011/06/17 PHP
php实现mysql数据库操作类分享
2014/02/14 PHP
crontab无法执行php的解决方法
2016/01/25 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
javascript 遍历验证所有文本框的值
2009/08/27 Javascript
5款Javascript颜色选择器
2009/10/25 Javascript
javascript淡入淡出效果的实现思路
2012/03/31 Javascript
JS对img标签进行优化使用onerror显示默认图像
2014/04/24 Javascript
javascript中checkbox使用方法实例演示
2015/11/19 Javascript
JS判断是否在微信浏览器打开的简单实例(推荐)
2016/08/24 Javascript
关于iframe跨域POST提交的方法示例
2017/01/15 Javascript
vuex与组件联合使用的方法
2018/05/10 Javascript
浅析js中mvvm模式实现的原理
2018/10/06 Javascript
浅析Vue.js中v-bind v-model的使用和区别
2018/12/04 Javascript
layui实现下拉框三级联动
2019/07/26 Javascript
nuxt框架中对vuex进行模块化设置的实现方法
2019/09/06 Javascript
详解钉钉小程序组件之自定义模态框(弹窗封装实现)
2020/03/07 Javascript
vue-cli3中配置alias和打包加hash值操作
2020/09/04 Javascript
Python实现给文件添加内容及得到文件信息的方法
2015/05/28 Python
Django之Mode的外键自关联和引用未定义的Model方法
2018/12/15 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
python根据文章标题内容自动生成摘要的实例
2019/02/21 Python
python字符串格式化方式解析
2019/10/19 Python
Python 静态方法和类方法实例分析
2019/11/21 Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
2020/02/26 Python
Python绘制K线图之可视化神器pyecharts的使用
2021/03/02 Python
HTML5 语音搜索只需一句代码
2013/01/03 HTML / CSS
意大利在线药房:shop-farmacia.it
2019/03/12 全球购物
澳大利亚波希米亚风时尚品牌:Tree of Life
2019/09/15 全球购物
Python中pass语句的作用是什么
2016/06/01 面试题
文明餐桌行动实施方案
2014/02/19 职场文书
人事专员的岗位职责
2014/03/01 职场文书
教师节促销方案
2014/03/22 职场文书
高中语文课后反思
2014/04/27 职场文书
企业2014年度工作总结
2014/12/10 职场文书