首页 > 解决方案 > 如何从另一个数据属性访问 Vuejs 数据属性?

问题描述

这些是我的代码

data: {
     cat1 : {name: "Category 1", reference : false},
     cat2 : {name: "Subcategory 2", reference: this.cat1}
}

当我要从任何函数调用 this.cat2.reference 时,它​​给我的值是 false。我不想在某处声明 cat1 并在此处引用。我想要与上面完全相同的结构,这样我就可以完美地获得 cat2 参考。

任何人都可以请告诉我任何解决方案吗?

标签: vue.jsvuejs2vuejs3

解决方案


一种选择是data使用一些getter 方法创建您的对象

例如

new Vue({
  el: '#newUser',
  data: () => { // make sure to use a "data" function
    // initialise with a declared variable
    const formData = {
      cat1, // not sure where these come from
      cat2,
      cat3,
      cat5: { name: 'Subcategory 5', get reference() { return formData.cat1 }}
    }
    return { formData }
  }
}

演示 ~ https://jsfiddle.net/ztfgapxh/


推荐阅读