访问嵌套对象时 Vue 发出警告

2024-02-12

我不知道为什么在访问嵌套对象时会收到 Vue 警告。

{{ user.area.name }}

[Vue warn]:渲染错误:“TypeError:无法读取未定义的属性‘名称’”

类型错误:无法读取未定义的属性“名称”

仅访问该对象没有任何警告。

{{ user.name }}

有什么建议吗?


完全是猜测,但让我们看看我是否正确......

假设你的组件/Vue 实例中有类似的东西data初始化器...

data () {
  return {
    user: {}
  }
}

然后你异步填充该对象,例如

mounted () {
  setTimeout(() => { // setTimeout is just an example
    this.user = {
      ...this.user,
      area: {
        name: 'foo'
      }
    }
  }, 1000)
}

如果你的模板有

{{ user.area.name }}

当它最初渲染时before异步任务已完成,您将尝试访问name的财产area这是未定义的。

例子~http://jsfiddle.net/tL1xbmoj/ http://jsfiddle.net/tL1xbmoj/


您的选择是...

  1. 使用不会导致错误的结构初始化数据

    data () {
      return {
        user: {
          area: { 
            name: null 
          } 
        }
      }
    }
    

    例子~http://jsfiddle.net/tL1xbmoj/1/ http://jsfiddle.net/tL1xbmoj/1/

  2. 使用条件渲染来防止错误

    <span v-if="user.area">{{ user.area.name }}</span>
    

    例子~http://jsfiddle.net/tL1xbmoj/2/ http://jsfiddle.net/tL1xbmoj/2/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

访问嵌套对象时 Vue 发出警告 的相关文章

随机推荐

  • 如何保存 style-css 值以供稍后使用,然后重新加载这些值

    拥有所有 SQL 数据库表及其列名的列表 每个都位于List
  • Visual Studio 2010 书签问题

    当我使用书签窗口在编辑器代码中创建书签时 添加方法 删除语句等一段时间 然后我重新打开 IDE 书签的行号是错误的 任何想法 解决此问题的一种方法是在完成代码编写之前不要关闭 Visual Studio 如果程序仍在运行 书签将会更新 但如
  • Xamarin 4 中旧的 ListView 和新的 CollectionView 有什么区别?

    我不明白新版本 4 0 的 Xamarin Form 中旧 ListView 和新 CollectionView 之间有什么不同 为什么使用 CollectionView 更好 我在微软文档中找到了帮助 但没有看到更好的东西 public
  • 在 Mathematica 中写入文件时格式化数字

    这是一个延续this https stackoverflow com q 4943706 181759关于数字格式的问题 与我之前的相关question https stackoverflow com q 1687705 181759关于获
  • 网站上下文中的 NServiceBus Publish() 与 Send()

    我希望更好地理解为什么建议不要使用 NServiceBus 来自网站的 Publish 消息 NServiceBus 文档 http docs particular net 向下滚动约三分之二 它对于 Publish 事件和 Send 命令
  • Numpy:沿指定轴重塑数组

    我有以下数组 x np arange 24 reshape 2 3 2 2 array 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 我想将其重塑为 3 4 2
  • Java8 中的 GroovyShell:内存泄漏/重复的类 [提供源代码 + 负载测试]

    我们有一个由 GroovyShell Groovy 脚本引起的内存泄漏 请参阅最后的 GroovyEvaluator 代码 主要问题是 从 MAT 分析器复制粘贴 类 java beans ThreadGroupContext 由 占用 8
  • 使用 sklearn 进行网格搜索的显式(预定义)验证集

    我有一个数据集 之前已分为 3 组 训练 验证和测试 这些集合必须按给定的方式使用 以便比较不同算法的性能 我现在想使用验证集优化 SVM 的参数 但是 我找不到如何将验证集显式输入到sklearn grid search GridSear
  • 防止 require(...) 在父目录中查找模块

    我的 Node 项目的根目录所在的目录本身就是另一个 Node 项目的根目录 所以两个文件夹都包含package json and node modules 问题是 在内部项目中 有时我require该项目中未安装模块 但 Node 只是默
  • NHibernate 过滤子集合延迟加载,即使指定了急切获取

    我试图找出为什么即使急切加载集合并且生成的 SQL 是正确的 也会在没有过滤的情况下返回子集合 类的流畅映射是 public class OptionIdentifierMap ClassMap
  • jstree问题

    我使用 XML 作为 JSTree 树的数据源 但我找不到任何示例 您可以在 XML 中将节点设置为超链接 或者在任何地方使用自己的图标设置自己的节点类型等 有人这样做过吗 有例子吗 我想你正在寻找jsTree 类型插件文档 http ww
  • SQL Server group by 吸收 null 和空值

    我有这个数据 Id Name amount Comments 1 n1 421762 Hello 2 n2 421 Bye 3 n2 262 null 4 n2 5127 每个名称可能有也可能没有带有空注释或空注释的额外行 如何按名称和总和
  • 如何使用 Cloudbees Jenkins 构建执行繁重任务

    我正在尝试在 Cloudbees 上构建并运行 Jenkins 我已经成功安装了 NodeJs 并从 BitBucket 存储库中提取了源代码 我正在尝试运行我的 grunt 任务来在部署之前缩小并连接我的 JS 和 CSS 文件 但是 即
  • 为什么 MouseEnter 和 MouseLeave 不可靠?

    根据this https stackoverflow com questions 12552809 问题 的answer https stackoverflow com questions 12552809 mousehover and m
  • Django 作为反向代理

    我的客户端 服务器应用程序主要基于特殊用途的http服务器 它以类似Ajax的方式与客户端进行通信 即 客户端 GUI 根据异步 http 请求 响应周期刷新 专用 http 服务器的可进化性是有限的 并且随着应用程序的增长 需要越来越多的
  • 虚函数和 boost 绑定奇怪的行为

    我在 Linux 下编写的一段代码中看到了一个奇怪的行为 我想分享它 看看是否有人知道其原因 我有一个基类和一个派生类 在基类中 我定义了一个虚拟方法 在派生类中 我使用相同的签名重新定义了该方法 然后我使用 boost bind 来启动一
  • Gremlin 找到最高匹配

    我计划使用图形数据库 AWS Neptune 可以使用 Gremlin 作为一种知识库进行查询 知识库将用作具有多个特征的实体的分类工具 为简单起见 我在本示例中使用几何形状来编码实体的属性 假设我想对与正方形 三角形和圆形相关的点进行分类
  • 什么是console.log?

    有什么用console log 请通过代码示例解释如何在 JavaScript 中使用它 它不是 jQuery 功能 而是用于调试目的的功能 例如 当发生某些情况时 您可以将某些内容记录到控制台 例如 someButton click fu
  • App Engine 上的前端实例小时数是如何计算的?

    我构建了一个简单的在线订购应用程序 它可能每周处理 25 小时 其中大部分是在周一和周二 查看仪表板 我看到 Billing Status Free Settings Quotas reset every 24 hours Next res
  • 访问嵌套对象时 Vue 发出警告

    我不知道为什么在访问嵌套对象时会收到 Vue 警告 user area name Vue warn 渲染错误 TypeError 无法读取未定义的属性 名称 类型错误 无法读取未定义的属性 名称 仅访问该对象没有任何警告 user name