将数据传递给组件

时间:2018-08-25 16:04:07

标签: javascript vue.js

我有动态组件:

<component v-bind:is="current.ComponentName" :myvar="current.Text"></component>

我要为当前解析的组件传递变量myvar

子组件的定义如下:

    <template>
        <div id="home">
            <h1>2 {{ myvar }} aasa</h1>
        </div>
    </template>

    <script>
        Vue.component(
            'MyComponentName',
            {
                props: ['myvar']
            });
    </script>

动态组件解析有效,但是我无法通过:myvar=...传递任何数据。我该怎么办?

1 个答案:

答案 0 :(得分:1)

很抱歉,如果我误解了您的问题,还不清楚,如果您在评论中让我知道,我将编辑答案。另外你的问题还不是很完整


我认为您误解了单个文件组件和Vue.component之间的区别

您必须选择一个,否则不能混合。

您可以像下面这样定义组件:

<template>
  <div id="home">
        <h1>2 {{ myvar }} aasa</h1>
    </div>
 </template>

<script>
export default {
  props: ["myvar"] 
}
</script>

或类似这样:

Vue.component("component-name", {
  props: ["myvar"], 
  template:`
    <div id="home">
        <h1>2 {{ myvar }} aasa</h1>
    </div>
  `
})

文档链接:https://vuejs.org/v2/guide/components.html