【问题标题】:Component cannot access to data that starts with $组件无法访问以 $ 开头的数据
【发布时间】:2022-11-15 12:59:23
【问题描述】:

我用 mixins 做了一些组件。

mixin1.vue

export default {
  data(){
     return {
      $_mixin1_data1 : 'data1',
      data2 : 'data2'
     }
  },
  methods:{
    $_mixin1_method1(){
    
    }
  }
}

父视频

import mixin1 from './mixin1';

export default {
  name : 'Parent',
  mixins:[mixin1],
  data(){
    return {
      parent1 : 'parent1'
    }
  },
  mounted(){
    console.log(this.parent1); // parent1
    console.log(this.$_mixin1_data1) //undefined
    console.log(this.data2); //data2
  }
}

当我将父组件与 mixin1 组件一起使用时,父组件找不到以 $ 开头的数据.但是“data2”数据和以$开头的方法工作。我不知道为什么没有检测到以 $_ 开头的数据。我可能不理解 Vue 的概念。 感谢您的回复。

【问题讨论】:

  • 不确定这在文档中的确切位置,但$ 是一个保留的东西,所以从它开始可能是导致这里问题的原因。不能换个名字吗?

标签: vue.js


【解决方案1】:

Docs

Vue 在通过组件实例公开自己的内​​置 API 时使用 $ 前缀。它还为内部属性保留前缀_。您应该避免使用以这些字符中的任何一个开头的顶级 data 属性的名称。

【讨论】:

    猜你喜欢
    • 2022-12-10
    • 2017-12-08
    • 1970-01-01
    • 1970-01-01
    • 2018-01-02
    • 2019-08-21
    • 2011-10-08
    • 1970-01-01
    • 2016-04-14
    相关资源
    最近更新 更多