热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

VUE使用事件总线EventBus时出现{__ob__:Observer}无法取值与渲染

需要完成的功能:组件A与组件B并不是同一界面,通过路由跳转,将一个对象stem从组件A传递到组件B。出现该问题现象的可能性有多种可能性,这只是引发该类问题的其中因素之一;由于解决本

需要完成的功能:组件A与组件B并不是同一界面,通过路由跳转,将一个对象stem组件A传递到组件B


出现该问题现象的可能性有多种可能性,这只是引发该类问题的其中因素之一;

由于解决本次问题的方式比较简单,故此随笔也比较水,仅为BUG记录。



事故简介:

可以使用console.log()在浏览器控制台可打印值,但是无法给定义在data中的字段赋值,更不能在页面渲染


事故现场:



  1. 组件A:

methods:{
submitForm(){
bus.$emit("stemList", stem)
}
}


  1. eventBus.js

import Vue from "vue";
export default new Vue()


  1. 组件B:

export default {
data () {
return {
questions:{}
}
},
created() {
bus.$on("stemList",val =>{
this.questiothis = val
console.log(val)
})
},
}


  1. 浏览器控制台打印的结果:

这里进行了两次重复操作,第一次路由跳转后控制台并没有输出内容,第二次跳转才打印如下内容,可见在第二次跳转后已经拿到值了,但是界面使用了{{ }}插值表达式并没有渲染出任何东西。

注意一句话:(第一次路由跳转后控制台并没有输出内容,第二次跳转才打印如下内容)


问题可能性分析:

由于进行了两次重复路由跳转操作,第一次无响应,第二次才打印数据,由此推断出可能是因为$emit发送数据时,$on还来不及创建,所以无法接收。


问题解决:

//这里加setTimeout延迟一下,使.$on的创建早于.$emit
setTimeout(()=>{
bus.$emit("stemList",res.data)
})

虽然控制台还是打印{ _ob__: Observer}但是已经可以进行赋值与渲染了



推荐阅读
  • 本文探讨了Entity Framework 4(EF4)与SQL Server 2000之间的兼容性问题,并提供了官方反馈链接以供参考。 ... [详细]
  • 本文详细探讨了 Java 中 Daemon 线程的特点及其应用场景,并深入分析了 Random 类的源代码,帮助开发者更好地理解和使用这些核心组件。 ... [详细]
  • 本文档详细介绍了服务器与应用系统迁移的策略与实施步骤。迁移不仅涉及数据的转移,还包括环境配置、应用兼容性测试等多个方面,旨在确保迁移过程的顺利进行及迁移后的系统稳定运行。 ... [详细]
  • SonarQube配置与使用指南
    本文档详细介绍了SonarQube的配置方法及使用流程,包括环境准备、样本分析、数据库配置、项目属性文件解析以及插件安装等内容,适用于具有Linux基础操作能力的用户。 ... [详细]
  • 每位开发者都应该拥有一个展示自我技能与分享知识的空间——个人技术博客。本文将指导你如何使用静态网站生成器Hexo结合GitHub Pages搭建这样一个平台。 ... [详细]
  • 解决PHP与MySQL之间的编码不匹配问题
    探讨如何有效解决PHP与MySQL之间常见的编码问题,确保数据的正确传输与显示。 ... [详细]
  • 使用Docker部署Gitea自托管Git服务
    Gitea是由Gogs社区分叉而来的开源自托管Git服务,旨在提供一个更加灵活和易于维护的解决方案。本文将详细介绍如何利用Docker容器技术快速部署Gitea。 ... [详细]
  • ZooKeeper 客户端写操作后立即读取数据的机制解析
    本文深入探讨 ZooKeeper 客户端如何确保在执行写操作后能够正确读取到刚刚写入的数据,特别是在分布式环境下的实现细节。 ... [详细]
  • 本文档整理了公司内部常用的网站链接和重要资源路径,包括部门周报、内控报销系统、邮件服务等,同时提供了相关数据库的登录信息。 ... [详细]
  • scrapyredis分布式爬虫 ... [详细]
  • 1、服务器配置信息① 主服务器IP:192.168.1.2② 从服务器IP:192.168.1.3③ 操作系统:主服务器:Win8,从服务器࿱ ... [详细]
  • 睿智汇海教育致力于培养杰出的IT专业人才,确保学员在就业市场上具备竞争力,助其实现职业成功。我们提供的C#/.Net/Asp.Net培训课程,旨在通过系统的教学和丰富的实践机会,帮助学员掌握最新的技术知识。 ... [详细]
  • 本文详细解析了Tomcat服务器的核心配置文件server.xml,包括其主要功能、结构组成及各标签的具体作用。 ... [详细]
  • 本文介绍了如何利用Vue.js中的Axios库将数组数据发送至Laravel后端,并正确地将这些数据存储到数据库中。 ... [详细]
  • 本文详细介绍了为何需要进行端口转发,尤其是从标准 HTTP 80 端口到 Tomcat 默认 8080 端口的必要性,以及如何通过 Nginx 实现这一功能。同时,还将探讨 Nginx 在不同场景下的多种端口转发策略。 ... [详细]
author-avatar
手机用户2502875691_190
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有