TypeError:尝试访问'属性'在未定义

时间:2017-07-07 11:24:07

标签: javascript vue.js

我遇到了一个奇怪的错误:当试图显示状态变量时,vuejs警告我: 渲染函数出错:" TypeError:无法读取属性'令牌'未定义"

我的州看起来像这样(在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>

我不知道如何摆脱这个错误,因为它正在发挥作用。

1 个答案:

答案 0 :(得分:1)

可能还有一段时间尚未设置roomroom.details,这可能是错误被抛出的时间。

尝试更改此代码......

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

......对此:

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