TypeError:尝试访问未定义的“属性”
2017-07-07
173
我陷入了一个奇怪的错误:当尝试显示状态变量时,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>
我不知道如何消除这个错误,因为它正在运行。
1个回答
可能存在
room
或
room.details
尚未设置的情况,这时可能会抛出错误。
尝试将代码从此...
v-bind:data-token="room.details.token"
...更改为此:
v-bind:data-token="room.hasOwnProperty('details') ? room.details.token : ''"
Nathan Wailes
2017-07-07