将变量传递给 Vue.js 中的子组件
Posted
技术标签:
【中文标题】将变量传递给 Vue.js 中的子组件【英文标题】:Passing a variable to child component in Vue.js 【发布时间】:2019-05-30 01:00:00 【问题描述】:你好再次堆栈溢出。我想将一个变量传递给 Vue 中的子组件。
我已经做了一些搜索并尝试了以下,基于这里***
我也试过用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
【问题讨论】:
【参考方案1】:您似乎对此有错误的引用。在 javascript 上下文中,this 指的是直接上下文,但 Vue 道具与类/组件的上下文相关联。
为防止这种情况,请将this
的引用存储到另一个变量,或使用箭头函数
methods:
logThis: () =>
console.log(this.subscription);
,
【讨论】:
以上是关于将变量传递给 Vue.js 中的子组件的主要内容,如果未能解决你的问题,请参考以下文章
如何将点击卡片的 id 和卡片内容传递给 vue.js 中的另一个组件?