【问题标题】:Vue pass props to an element in a componentVue 将 props 传递给组件中的元素
【发布时间】:2019-06-19 14:51:06
【问题描述】:

我试图弄清楚如何将 Vue 道具传递给位于第二个组件中的 a 标记。它可以是任何道具,因此我无法将其专门导入组件。

第一个组件

<script>
export default {
  name: 'first',
}
</script>
<template>
  <div class="first">
    <slot />
  </div>
</template>

第二个组件

<script>
export default {
  name: 'second',
  text: {
    type: String,
    required: true,
  },
};
</script>
<template>
  <li>
    <a href=""> </a>
  </li>
</template>

当我使用组件时,我想添加一个附加到a 标签的道具。

<first>
  <second text="test" />
</first>

【问题讨论】:

  • 这个问题表述的不好,指令不是prop,vue中的指令只是v-something='variable' 它们和props/attributes有很大的不同

标签: vue.js vuejs2 vue-directives


【解决方案1】:

在https://vuejs.org/v2/guide/components-props.html#Disabling-Attribute-Inheritance 中查看v-bind="$attrs"。

V-bind 实际上可以绑定整个键值对象。

【讨论】:

  • 当然我可以调查一下。我猜我实际上不会禁用 attrs 虽然正确?
  • 我做了一个快速测试,似乎指令没有出现在 $attrs 中
  • 你的 vue 版本是多少?这是 2.4 的功能。 vuejs.org/v2/api/#vm-attrs
  • 它应该出现在第二个组件中,而不是第一个。它有两个例外:类和样式。
猜你喜欢
  • 2017-08-29
  • 2018-04-23
  • 2016-10-22
  • 2019-08-09
  • 2018-08-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多