【问题标题】:Passing a variable to child component in Vue.js将变量传递给 Vue.js 中的子组件
【发布时间】:2019-05-30 01:00:00
【问题描述】:

你好再次堆栈溢出。我想将一个变量传递给 Vue 中的子组件。

我已经做了一些搜索并尝试了以下,基于这里stackoverflow

我也试过用created:方法代替mounted:

有什么想法吗?

这是我的父组件

订阅.vue

<template>
    <div>
        <h1>Subscribe with Stripe</h1>
        <StripeSubscriptions :subscription="subscriptionType"></StripeSubscriptions>
    </div>
</template>

<script>
    import StripeSubscriptions from '../../includes/StripeSubscriptions.vue';

    export default {
        data(){
            return {
                subscriptionType: "Monthly"
            };
        },
        components: {
            StripeSubscriptions
        }
    }
</script>

子组件

StripeSubscribe.vue

<template>
    <div>
        <div ref="card"></div>
        <button v-on:click="purchase">Purchase</button>
    </div>

</template>

<script>
    export default {
        props: ['subscription'],
        mounted: function () {
            this.logThis();
        },
        methods: {
            logThis: function (){
                console.log(this.subscription);
            },
        }
    };
</script>

以上控制台输出为:here: undefined

【问题讨论】:

    标签: vue.js vuejs2


    【解决方案1】:

    您似乎对此有错误的引用。在 JavaScript 上下文中,this 指的是直接上下文,但 Vue 道具与类/组件的上下文相关联。

    为防止这种情况,请将this 的引用存储到另一个变量,或使用箭头函数

    methods: {
                logThis: () => {
                    console.log(this.subscription);
                },
            }
    

    【讨论】:

      猜你喜欢
      • 2020-07-23
      • 2019-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-14
      • 2017-05-30
      • 2021-12-21
      • 2018-04-30
      相关资源
      最近更新 更多