我有一个像这样的标记:
<div class="form-group" v-if="model.owner.enabled">
范围内可用的模型如下所示:
{
...
owner: {
enabled: true
...
}
...
}
但是vue不喜欢它并且去:
TypeError: Cannot read property 'enabled' of undefined
有人能发现错误吗?可能是因为查找仅限于模型对象的第一级?
事实上,如果我将标记更改为:
<div class="form-group" v-if="model.owner">
它只是工作,元素被渲染。据说因为我认为model.owner
对象被认为是真正的价值。
由于
答案 0 :(得分:2)
没有限制。我怀疑这里的问题是你的模型是异步填充的。如果是这种情况,那么,当首次呈现Vue时,model.owner
将为undefined
而model.owner.enabled
将导致您所描述的错误。
model.owner
可能有效,因为model
已定义且owner
不是在呈现Vue时。然后,当填充模型时,owner
不再是未定义的。
你可以通过使用警卫来解决这个问题。
<div class="form-group" v-if="model.owner && model.owner.enabled">
这是example。