解决vue数据不实时更新的问题(数据更改了,但数据不实时更新)


Posted in Javascript onOctober 27, 2020

一、在我们使用vue进行开发的过程中,可能会遇到一种情况:

当生成vue实例后,当再次给数据赋值时,有时候并不会自动更新到视图上去;

向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新属性,因为 Vue 无法探测普通的新增属性 ,需要用vue内置的方法

二、Vue.set() 响应式新增与修改数据

此时我们需要知道Vue.set()需要哪些参数,官方API:https://cn.vuejs.org/v2/api/#Vue-set

调用方法:Vue.set( target, key, value ) 或者 this.$set(target, key, value);

target:要更改的数据源(可以是对象或者数组)

key:要更改的具体数据

value :重新赋的值,

调用:this.$set(target, key, value);

补充知识:vue Render scopedSlots

render 中 slot 的一般默认使用方式如下: this.$slots.default 对用 template的<slot>的使用没有name 。 想使用多个slot 的话。需要对slot命名唯一。

在render函数中动态使用多个slot,并且给slot传值

一、我的业务逻辑:

使用了三个组件,

组件A调用组件B,组件B调用组件C,组件C是自己封装的render渲染组件。

组件A希望将自己自定义的插槽插到C组件,C组件渲染出自定义的内容,并且将C组件的值传递给B组件和A组件,B组件是对C组件进行更大一层的封装

A组件调用B组件

<index-grid>
     <div
      slot="name"
      slot-scope="field"
      class="check-link"
      @click="rowLinkClick"
     >
      <span>{{ field.field.rowData.name }}</span>
     </div>
</index-grid>

A组件引用B组件,slot-scope接收从B组件中传出来solt的值,slot=“name”,是为插槽具名;

B组件中调用C组件的render函数

<sub-grid ref="indexGridSub">
   <span
    v-for="(item, index) in fields"
    :key="index"
    slot="name"
    slot-scope="field"
   >
    <slot name="name" :field="field"></slot>
   </span>
 
  </sub-grid>

B组件span中 slot是动态的值,和A组件中的slot同一个值,才能接受来自A组件自定义的插槽,

field是来自于C组件中传递的值

C组件是render函数

h(
     "td",
     {
      style: { width: field.width + "px" },
      class: { borderRight },
      // 作用域插槽格式
      // { name: props => VNode | Array<VNode> }
      scopedSlots: this.$scopedSlots.name,
      // 如果组件是其他组件的子组件,需为插槽指定名称
      slot: 'name'
     },
     this.$scopedSlots.name({
      field: field,
      rowData: rowData,
     })
    );

C组件往上传递的值就是 {field:'', rowData: ''} 的对象

以上这篇解决vue数据不实时更新的问题(数据更改了,但数据不实时更新)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js中几种去掉字串左右空格的方法
Dec 25 Javascript
Jquery 扩展方法
May 06 Javascript
JavaScript实现俄罗斯方块游戏过程分析及源码分享
Mar 23 Javascript
JavaScript获得表单target属性的方法
Apr 02 Javascript
使用JavaScript的AngularJS库编写hello world的方法
Jun 23 Javascript
浅谈JSON.parse()和JSON.stringify()
Jul 14 Javascript
详解JavaScript实现设计模式中的适配器模式的方法
May 18 Javascript
JavaScript实现的商品抢购倒计时功能示例
Apr 17 Javascript
微信小程序实现分享到朋友圈功能
Jul 19 Javascript
opencv 识别微信登录验证滑动块位置
Aug 07 Javascript
如何使用vue3打造一个物料库
May 08 Vue.js
JavaScript parseInt0.0000005打印5原理解析
Jul 23 Javascript
js实现自定义滚动条的示例
Oct 27 #Javascript
vue移动端下拉刷新和上滑加载
Oct 27 #Javascript
Element-UI 使用el-row 分栏布局的教程
Oct 26 #Javascript
解决vue项目运行npm run serve报错的问题
Oct 26 #Javascript
js实现简易拖拽的示例
Oct 26 #Javascript
js实现限定范围拖拽的示例
Oct 26 #Javascript
js实现磁性吸附的示例
Oct 26 #Javascript
You might like
DC动漫人物排行
2020/03/03 欧美动漫
php身份证号码检查类实例
2015/06/18 PHP
PHP获取真实IP及IP模拟方法解析
2020/11/24 PHP
一段效率很高的for循环语句使用方法
2007/08/13 Javascript
一个XML格式数据转换为图表的例子
2010/02/09 Javascript
JavaScript 题型问答有答案参考
2010/02/17 Javascript
javascript下利用arguments实现string.format函数
2010/08/24 Javascript
js下获得客户端操作系统的函数代码(1:vista,2:windows7,3:2000,4:xp,5:2003,6:2008)
2011/10/31 Javascript
js/jQuery对象互转(快速操作dom元素)
2013/02/04 Javascript
javascript:void(0)使用探讨
2013/08/27 Javascript
jquery 绑定回车动作扑捉回车键触发的事件
2014/03/26 Javascript
JavaScript实现选择框按比例拖拉缩放的方法
2015/08/04 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
微信小程序 网络请求(GET请求)详解
2016/11/16 Javascript
Bootstrap jquery.twbsPagination.js动态页码分页实例代码
2017/02/20 Javascript
详解Vuejs2.0之异步跨域请求
2017/04/20 Javascript
基于JavaScript实现瀑布流布局
2018/08/15 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
2018/10/10 Javascript
js模拟实现烟花特效
2020/03/10 Javascript
[54:56]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第三局
2016/03/06 DOTA
Python cv2 图像自适应灰度直方图均衡化处理方法
2018/12/07 Python
pandas分别写入excel的不同sheet方法
2018/12/11 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
Python3运算符常见用法分析
2020/02/14 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
2020/03/06 Python
pycharm开发一个简单界面和通用mvc模板(操作方法图解)
2020/05/27 Python
理解Django 中Call Stack机制的小Demo
2020/09/01 Python
HTML5新特性之语义化标签
2017/10/31 HTML / CSS
Groupon西班牙官方网站:在线优惠券和交易,节省高达70%
2021/03/13 全球购物
政府门卫岗位职责
2014/04/29 职场文书
会计工作能力自我评价
2015/03/05 职场文书
导游词范文之颐和园/重庆/云台山
2019/09/10 职场文书
MySQL之DML语言
2021/04/05 MySQL
浅析MongoDB之安全认证
2021/06/26 MongoDB
一文搞懂Golang 时间和日期相关函数
2021/12/06 Golang
MySQL 主从复制数据不一致的解决方法
2022/03/18 MySQL