如何从Vue 2中的另一个数据变量引用数据变量?

ace*_*ace 11 vue.js

我在vue数据中有这个:

data() {
    return {

      names: [],
      length: names.length,
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为RefereneError(名称未定义)被抛出.我使用this.names但没有任何区别.

Tho*_*Brd 23

你需要做这样的事情才能使它工作:

第一路

data() {
    let defaultNames = [];
    return {
      names: defaultNames,
      length: defaultNames.length,
}
Run Code Online (Sandbox Code Playgroud)

第二种方式 - 使用计算数据(最佳方式):

data() {
    return {
      names: [],
    }
},
computed: {
    length() {
        return this.names.length;
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 对于具体的示例信息,第一种方式可能并不理想(长度甚至是反应性的?我还没有检查过)。但是在其他情况下,第一种方式完全有效并且可能更可取(例如,如果您在初始化时直接根据其他数据操作数据) (6认同)
  • 两种方式都有效并且不是反模式。/sf/ask/3254402791/ (5认同)
  • 清除您的*第一方式*。 (3认同)
  • 对我来说,第一种方法很有用,因为我不需要该属性具有反应性,我只需要根据 items_array 初始化 selected_item 。谢谢 (3认同)