我不知道为什么访问嵌套对象时会收到Vue警告。
{{ user.area.name }}
[Vue警告]:渲染错误:"TypeError:无法读取未定义的属性'name'"
TypeError:无法读取未定义的属性“name”
仅仅访问对象没有任何警告。
{{ user.name }}
有什么建议吗?
您还可以使用三元运算符{{user.area?user.area.name:“}}
您的用户
不包含区域
,因此当您尝试读取该区域时,它是未定义的
。您不允许在未定义的事物上使用
运算符,因此当您在该事物上使用
.name
时,您会得到您得到的错误。
这里完全是猜测,但让我们看看我是否正确。。。
假设您在组件/Vue实例data
initialiser中有类似的东西。。。
data () {
return {
user: {}
}
}
然后异步填充该对象,例如
mounted () {
setTimeout(() => { // setTimeout is just an example
this.user = {
...this.user,
area: {
name: 'foo'
}
}
}, 1000)
}
如果你的模板有
html prettyprint-override">{{ user.area.name }}
当它在异步任务完成之前最初呈现时,您将尝试访问区域
的名称
属性,该属性未定义。
例如~http://jsfiddle.net/tL1xbmoj/
你的选择是...
>
data () {
return {
user: {
area: {
name: null
}
}
}
}
例~http://jsfiddle.net/tL1xbmoj/1/
使用条件渲染来防止错误
<span v-if="user.area">{{ user.area.name }}</span>
例如~http://jsfiddle.net/tL1xbmoj/2/
我从foursquare收到了一个json形式的响应。我尝试访问对象的某些部分,但没有成功。如何访问对象的地址?这是我试过的代码。 以下是json响应的一个示例: 完整的回应可以在这里找到
问题内容: 我有基于json的数据结构,其中包含嵌套对象。为了访问特定的数据元素,我一直将对对象属性的引用链接在一起。例如: 如果未定义b或bc,则将失败并显示错误。但是,我想获得一个值(如果存在的话),否则只是未定义。无需检查链中每个值是否存在的最佳方法是什么? 我想尽可能地保持这种方法,所以我不必添加大量的辅助方法,例如: 要么 我也想尝试避免使用try / catch构造,因为这不是错误,因
问题内容: 不固定f1.png值时如何访问inval值。即文件名可以是任何东西,它不知道,所以我如何使用Java访问此JSON中各种文件的inval字段值? 问题答案: 请尝试以下代码, 希望它能解决您的问题
首先,如果这已经发布,请道歉。我花了一些时间研究,但还没有找到解决方案。 我的目标是访问vb.net中web请求的各种JSON响应中的数据。我遇到了嵌套响应的问题;例如: 我的课程是这样的: 反序列化JSON: 这似乎工作正常,但是我不知道如何访问< code>href值,在本例中是“https://example.com/test2/”。
我正在使用Spring Boot和Thymeleaf为我的应用程序创建一个登录页。为此,我需要呈现所有包含容器的主机对象的列表。以下是相关代码: 现在,我想遍历所有服务器,并在表中显示关于每个容器的信息。我的Thymeleaf模板如下所示: 我的问题是访问容器属性的部分(由注释标记)。每次我都会得到一个SpringEL异常。如果我删除并将其替换为会显示容器的String版本,因此我可以访问对象和它
免责声明:这是我第一次尝试构建MVVM应用程序,我以前也没有使用过vue.js,所以我的问题很可能是一个更根本的问题造成的。 在我看来,我有两种带复选框的块: 类型1:块/复选框 类型2:块/标头/复选框 底层对象的结构如下所示: 我的目标 选择复选框: 用户单击复选框,复选框被选中(selected=true) 将激发一个方法来检查是否需要禁用任何其他复选框(disabled=true)。(如果