如何通过参数访问子对象

问题描述

我有一个包含这些数据的 Vue 应用程序:

data: {
    personal: {
        email: '',first_name: '',last_name: '',password: '',password_confirmation: '',phone: '',work_email: ''
    },company: {
        address: '',annual_revenue: null,city_id: null,country: 'BRA',company: '',company_city_document: '',company_document: '',company_legal_name: '',position: '',state_id: null,vat: null,website: '',work_phone: '',zipcode: ''
    }
}

我想从我的 mixin 访问子对象,但是当我通过参数发送属性时,我在 mixin 上未定义,我像这样发送:

<TextField
    @input="checkFormInvalidity('personal.first_name')"
    id="first_name"
    label="Nome"
/>

用户输入任何内容时,vue 会发出他输入的内容,在我的 mixin 中有一个简单的验证方法,如下所示:

checkFormInvalidity (field) {
    field
        ? this.$v.data[field].$touch()
        : this.$v.$touch()

    return field
        ? !!this.$v.data[field].$invalid
        : !!this.$v.$invalid
}

当我这样做时:

console.log(this.data[field])

我收到“未定义”是因为我不知道如何从数据中访问子对象,在这种情况下将是“data.personal.first_name”。 如果我在参数“字段”中只收到“个人”,我可以看到所有数据属性

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)