动态更改外部Vue.js 2.x组件的{prop}值

时间:2017-06-13 07:25:04

标签: javascript vue.js components

我在我的网站中使用BootstrapVue中的Tabs组件,我想动态更改"禁用"来自标签组件的道具。

不幸的是,这是不可能的,因为"禁用"被定义为BootstrapVue中的prop,并且在数据属性为的时候,prop可以在Vue.js中互换。

https://bootstrap-vue.github.io/docs/components/tabs

<b-tabs>
  <b-tab title="first" active>
    I'm the first fading tab
  </b-tab>
  <b-tab title="second">
    I'm the second tab content
  </b-tab>
  <b-tab title="disabled" disabled>
    <b-card>I'm the card in tab</b-card>
  </b-tab>

我认为此问题并非特定于此Bootstrap Tab组件,但在使用外部组件时这是一个更广泛的问题。我不想修改原始来源,但我希望能够更改它的道具。

我想也许可以使用这样的东西。但这并不奏效。此外,它还不能让其他标签更改状态,因为它绑定到非基于索引的属性。

<b-tab title="second" :disabled="$parent.$parent.disabled">

有人知道如何实现这一目标吗?

1 个答案:

答案 0 :(得分:1)

如果你这样做

<tab-content>
    <something :disabled="disabled"></something>
</tab-content>

然后“禁用”值来自您呈现制表符内容组件的组件内部,并且不属于制表符内容组件

你不能按照你想要的方式做到这一点。