javascript - VueJS : Pass props inside component of component

标签 javascript vue.js

我有这个简单的脚本,里面有来自其他组件的 Prop ,当我安慰它时它工作正常。但是我怎样才能在我的 line-chart 组件下传递 prop 呢?

export default {
    props: ['dataset'],
    components:{
    'line-chart': {
          extends: Bar,
          beforeMount () {
            try{
              this.addPlugin(horizonalLinePlugin)
              //console.log(this.$props);
              console.log($this.$props.dataset); <- How can show it here?

            }catch(err){
            }
          },
          mounted () {
            this.renderChart(chartOption, chartSettings
            )
          }
        }
    },
    created(){
      console.log(this.$props) <- Working fine
    },
    mounted(){

    }
  }

最佳答案

子组件无法直接访问父组件的props;您需要在子组件中声明 prop,然后从父组件向其传递数据。

export default {
  props: ['dataset'],
  components:{
    'line-chart': {
      extends: Bar,
      props: ['dataset'],                // declare the prop
      beforeMount () {
        try {
          this.addPlugin(horizonalLinePlugin)
          console.log(this.dataset);     // access with this.dataset
        } catch(err) {
        }
      },
      mounted () {
        this.renderChart(chartOption, chartSettings)
      }
    }
  }

然后在模板中,将数据集从父组件传递到子组件:

<line-chart :dataset="dataset"></line-chart>

关于javascript - VueJS : Pass props inside component of component,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53423239/

相关文章:

javascript - 当用户单击正确的 div 时,我可以让我的脚本运行,但是当 div 在浏览器上变得可见时,如何让它运行呢?

javascript - 当在 durandal/knockout 中取消(关闭)模式时通知主机页面

javascript - 如何处理 v-if 中的点击项目

javascript - 仅播放一次基于 jQuery 的动画介绍

javascript - jQuery -- 生成元素的新属性未保存

javascript - 将字符串从后面的代码传递给ajax

vue.js - 如何拆分@vue/cli 3 "pages"供应商文件

vue.js - 自定义字体未显示在Electron + Vue App上

ubuntu - 如何将我的全局 vue-cli 安装升级到最新版本?

jquery - VueJS 选择 dom 中的特定元素