vue数据更新,vue数据改变了,页面内容未更新

  vue数据更新,vue数据改变了,页面内容未更新

  本文主要介绍了vue对无效数据页面修改的解决方案,具有很好的参考价值。希望对你有帮助。如有错误或不足之处,请不吝赐教。

  

目录

   vue修改的数据页面无效。对于更改数据后页面不会刷新的问题,以下案例有两种解决方案。

  

vue修改数据页面无效

  在项目开发过程中,经常会遇到给数据中的对象添加属性的情况。

  

如下案例

  !声明文档类型

  html lang=en

  头

  meta charset=UTF-8

  meta name= viewport content= width=device-width,initial-scale=1.0

  标题文档/标题

  /头

  身体

  div id=应用程序

  Button @click=addAttribute()添加属性方法/按钮

  p学生属性如下所示/p

  保险商实验所

  li学生“{item}}”中的v-for= item/Li

  /ul

  /div

  脚本src=。/js/vue.js/script

  脚本

  新Vue({

  埃尔: #app ,

  数据:{

  学生:{

  名称:“zdx”

  }

  },

  方法:{

  addAttribute() {

  this . student . age=18;//向student对象添加属性

  console . log(this . student);

  }

  }

  })

  /脚本

  /body

  /html

  原因是由于JavaScript的限制,vue.js无法监控对象属性的添加和删除,因为vue组件初始化时会调用getter和setter方法,所以这个属性必须存在于数据中,视图层才会响应这个数据的变化。为了解决这个问题,

  

有两种解决方案

  1.this.$set(obj, key, value) 或 vue.set(obj, key, value)

  方法:{

  addAttribute() {

  //this . student . age=18;

  这个。$set(this.student,年龄,18);

  console . log(this . student);

  }

  }

  2.Object.assign(target, sources)

  方法:{

  addAttribute() {

  //this . student . age=18;

  //这个。$set(this.student,年龄,18);

  this . student . age=18;

  this.student=Object.assign({},this . student);

  console . log(this . student);

  }

  }

  

更改数据后页面不刷新的问题

  今天和v-if开会控制标签切换的效果,没有反应。测试数据正常,但是页面没有呈现。

  我查了很多资料。因为数据层次太多,渲染函数没有自动更新,需要手动刷新。

  及格

  这个。$ force update();

  强制刷新。

  以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: