javascript - 类型错误 : trying to access 'property' on undefined

标签 javascript vue.js

我遇到了一个奇怪的错误:当尝试显示状态变量时,vuejs 警告我: 渲染函数中出现错误:“TypeError:无法读取未定义的属性‘ token ’”

我的状态如下所示(在 vuejs 扩展中):

room:Object
    details:Object
        game_id:"1"
        id:914527404
        max_users:5
        messages:Array[0]
        token:"ef6464692f4cce187fe129d7"
        user:Array[1]
    messages:Array[0]
    users:Array[1]

尽管出现错误,HTML 仍然可以正确呈现:

<button id="copySharingLink" type="button" class="btn btn-primary waves-effect waves-light" v-bind:data-token="room.details.token">some text</button>

变成了

<button id="copySharingLink" type="button" data-token="ef6464692f4cce187fe129d7" class="btn btn-primary waves-effect waves-light">some text</button>

我不知道如何消除这个错误,因为它正在工作。

最佳答案

有时 roomroom.details 尚未设置,此时可能会抛出错误。

尝试更改此代码...

v-bind:data-token="room.details.token"

...对此:

v-bind:data-token="room.hasOwnProperty('details') ? room.details.token : ''"

关于javascript - 类型错误 : trying to access 'property' on undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44969568/

相关文章:

javascript - 此 Emberjs 组件的 "update"操作的目的是什么

javascript - 如何将此点击菜单更改为悬停菜单?

javascript - 如何将 donut 的 svg 添加到每个节点以代替径向 TreeMap 中的圆圈

javascript - Vuex store this.$store 在 Vue.js 组件中未定义

javascript - 如何将组件对象移动到全局对象?

vue.js - Vuex 嵌套循环,如何处理选择/选项上的 v-model

Laravel、Vue - "You may need an appropriate loader"用于模板标签

javascript - 在测试库中测试 css-modules 样式

javascript - 什么是更好的性能明智,1 个巨大的 js 和 css 文件或多个文件

javascript - div float 在旋转木马顶部的问题