VUE项目template中取动态值 超过两层会报错 解决办法

问题描述:当我们在写vue项目的时候 有时用到的值会x.x.x.这种形式
在这里插入图片描述
从一个对象中获取,超过两个.就报错,如下代码报错
在这里插入图片描述
因为获取服务器是异步的,所以 vue 先绑定数据。

所以在初始化时,要把用到的 属性赋值为空对象就行了。

绑定数据时,你的wageProject1赋值为空对象的话,而wageProject1里面的 buZhusalaryWage属性便为 undefined,所以报"cannot read property ‘buZhusalaryWage’ of undefined"。

解决办法如下:声明一下要用到的对象

在这里插入图片描述

### 回答1: 您好,关于如何获取嵌套对象,可以使用Vue的计算属性来实现。假设我们有一个嵌套对象person,其中包含了name和age属性,而name属性又包含了first和last属性,我们可以这样获取: ``` <template> <div> <p>{{ fullName }}</p> <p>{{ age }}</p> </div> </template> <script> export default { data() { return { person: { name: { first: 'John', last: 'Doe' }, age: 30 } } }, computed: { fullName() { return this.person.name.first + ' ' + this.person.name.last }, age() { return this.person.age } } } </script> ``` 在上面的代码中,我们定义了一个计算属性fullName来获取person对象中的嵌套属性name的first和last属性,最后将它们拼接起来作为fullName的。同时,我们也定义了一个计算属性age来获取person对象中的age属性。通过使用计算属性,我们可以方便地获取嵌套对象的属性,而不必担心嵌套数的限制。 ### 回答2: 在Vue中,可以使用点语法和方括号语法来访问和获取嵌套对象。 1. 使用点语法: 假设有一个嵌套对象`data`,其中包含一个`user`对象,该对象又包含一个`name`属性。我们可以使用以下语法来获得`user`对象中的`name`属性: ```javascript data.user.name ``` 这将返回`name`属性的2. 使用方括号语法: 如果对象的属性名包含特殊字符或数字,或者你想使用变量来访问对象的属性,可以使用方括号语法。例如,我们有一个`data`对象,里面有一个`user`对象,该对象中有一个由用户输入的变量`prop`作为属性名。我们可以使用以下语法来获取该属性的: ```javascript data.user[prop] ``` 其中`prop`是一个变量,它存储了要访问的属性名。这将返回该属性的。 通过这两种方式,我们可以在Vue中轻松地获取和操作嵌套对象的属性。无论是通过点语法还是方括号语法,都可以在Vue的模板和JavaScript代码中使用。 ### 回答3: 在Vue中,可以使用点号(.)和方括号([])来访问嵌套对象的属性。 使用点号可以直接通过对象的属性名来获取嵌套对象的属性。例如,如果有一个名为obj的对象,其中包含一个名为nestedObj的嵌套对象,可以通过`obj.nestedObj`来获取嵌套对象。 使用方括号的方式是通过字符串来访问嵌套对象的属性。例如,如果有一个名为obj的对象,其中包含一个名为nestedObj的嵌套对象,同样可以通过`obj['nestedObj']`来获取嵌套对象。 如果嵌套对象有多,可以使用多个点号或方括号来进行访问。例如,如果nestedObj对象还包含一个名为innerObj的嵌套对象,可以通过`obj.nestedObj.innerObj`或`obj['nestedObj']['innerObj']`来获取嵌套对象属性。 在Vue中,还可以通过计算属性或方法来获取嵌套对象属性。通过在Vue实例的计算属性或方法中,使用点号或方括号来获取嵌套对象属性,然后在模板中引用该计算属性或方法来展示视图。 需要注意的是,在访问嵌套对象属性时,要确保每一对象都存在,否则可能会报错。可以使用`v-if`指令来判断对象是否存在,然后再进行属性访问,以避免错误。 综上所述,Vue中可以使用点号和方括号的方式来获取嵌套对象的属性,可以直接访问或通过计算属性、方法进行访问,并使用`v-if`指令来进行对象存在的判断。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值