解决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 相关文章推荐
收藏一些不常用,但是有用的代码
Mar 12 Javascript
jQuery autocomplate 自扩展插件、自动完成示例代码
Mar 28 Javascript
手机端网页点击链接触发自动拨打或保存电话的示例代码
Aug 15 Javascript
JavaScript中String.match()方法的使用详解
Jun 06 Javascript
js实现的tab标签切换效果代码分享
Aug 25 Javascript
浅析JavaScript 调试方法和技巧
Oct 22 Javascript
如何利用Promises编写更优雅的JavaScript代码
May 17 Javascript
JavaScript中点击事件的写法
Jun 28 Javascript
PHP抓取HTTPS内容和错误处理的方法
Sep 30 Javascript
AngularJS使用拦截器实现的loading功能完整实例
May 17 Javascript
微信小程序 获取javascript 里的数据
Aug 17 Javascript
JavaScript实现网页计算器功能
Oct 29 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
php面向对象的方法重载两种版本比较
2008/09/08 PHP
使用eAccelerator加密PHP程序
2008/10/03 PHP
php页面消耗内存过大的处理办法
2013/03/18 PHP
php引用返回与取消引用的详解
2013/06/08 PHP
tp5(thinkPHP5)框架实现多数据库查询的方法
2019/01/10 PHP
Laravel多域名下字段验证的方法
2019/04/04 PHP
用Javascript数组处理多个字符串的连接问题
2009/08/20 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
2013/04/11 Javascript
javascript从右边截取指定字符串的三种实现方法
2013/11/29 Javascript
使用jQuery动态加载js脚本文件的方法
2014/04/03 Javascript
NodeJs基本语法和类型
2015/02/13 NodeJs
以JavaScript来实现WordPress中的二级导航菜单的方法
2015/12/14 Javascript
全面解析jQuery $(document).ready()和JavaScript onload事件
2016/06/08 Javascript
微信小程序 在Chrome浏览器上运行以及WebStorm的使用
2016/09/27 Javascript
vue2中,根据list的id进入对应的详情页并修改title方法
2018/08/24 Javascript
使用ng-packagr打包Angular的方法示例
2018/09/21 Javascript
详解微信小程序图片地扯转base64解决方案
2019/08/18 Javascript
[01:18:31]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第一场 1月10日
2021/03/11 DOTA
python基础教程之实现石头剪刀布游戏示例
2014/02/11 Python
python魔法方法-属性转换和类的表示详解
2016/07/22 Python
浅谈python日志的配置文件路径问题
2018/04/28 Python
python对绑定事件的鼠标、按键的判断实例
2019/07/17 Python
Python OpenCV视频截取并保存实现代码
2019/11/30 Python
Python使用正则实现计算字符串算式
2019/12/29 Python
Python运行异常管理解决方案
2020/03/09 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
Python绘图之二维图与三维图详解
2020/08/04 Python
Python特殊属性property原理及使用方法解析
2020/10/09 Python
新西兰优惠网站:Treat Me
2019/07/04 全球购物
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
腾讯公司的一个sql题
2013/01/22 面试题
javascript实现用户必须勾选协议实例讲解
2021/03/24 Javascript
应聘教师求职信
2014/07/19 职场文书
村党支部书记个人对照材料汇报
2014/10/26 职场文书
Python音乐爬虫完美绕过反爬
2021/08/30 Python
Python+SeaTable实现计算两个日期间的工作日天数
2022/07/07 Python