Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vuejs2 从v-for传递参数以动态更新b-tab标题_Vuejs2_Bootstrap Vue - Fatal编程技术网

Vuejs2 从v-for传递参数以动态更新b-tab标题

Vuejs2 从v-for传递参数以动态更新b-tab标题,vuejs2,bootstrap-vue,Vuejs2,Bootstrap Vue,使用vuejs仅6周,而且根本没有查看组件,如果这是一个愚蠢的问题,那么很抱歉 我正试图在v-for循环中动态更新tabs from的b-spinner组件,并将v-for中的参数设置为computed属性 它在不使用v-for时工作正常 <b-tab> <template v-slot:title> <b-spinner type="border" small v-show="!updateDone"></b-spinner> &l

使用vuejs仅6周,而且根本没有查看组件,如果这是一个愚蠢的问题,那么很抱歉

我正试图在v-for循环中动态更新tabs from的b-spinner组件,并将v-for中的参数设置为computed属性

它在不使用v-for时工作正常

<b-tab>
  <template v-slot:title>
     <b-spinner type="border" small v-show="!updateDone"></b-spinner> <strong>Tab Title</strong>
  </template>
  ...
</b-tab>
updateOne
是一个计算属性,如下所示:

updateDone: function (player) {
  return _.every(Object.values(this.someObject[player['player-name']]), Boolean)
    },
但是,
updateOne
永远不会返回b/c
player
是一个完整的Vue对象(可能是父组件)

希望对此有所了解

解决方案 多亏了安东尼奥


{{player['player-name']}
...

根据您的评论,我意识到
updateDone
是一个
计算的
属性

在这种情况下,不要使用
computed
属性

您必须使用
方法
而不是
计算
属性

为什么?
computed
属性被缓存,并且仅当它们的依赖关系更改时才会更改。 在您的情况下,
player
在循环渲染选项卡时没有变化。这意味着它将显示与
updateOne
属性相同的结果:(


但是每次调用一个方法时,它都会进行计算。:

您是否用
包装了这些
?确实如此……每个玩家对象是否都有一个唯一的元素,例如
id
?您能给我显示一个更新的方法吗?我没有分配:键,但这并没有解决问题。我已经更新了question.thx以获得答案,但这似乎不起作用。现在,当我将
player
传递给
updateDone(player)
时,它显示
player
未定义。@RyanSkene请删除此代码中的
=“{player}”
。所以
什么是
someObject
?删除
=“{player}”
不起作用
someObject
是vue的一个属性app@RyanSkene请将
:键移动到
v-for
之后<代码>播放器
v-for
updateDone: function (player) {
  return _.every(Object.values(this.someObject[player['player-name']]), Boolean)
    },
<b-tab v-for="player in updatePickPool" :key="player['player-id']">
  <template v-slot:title>
    <b-spinner type="border" small v-show="!playerPathComplete(player)"></b-spinner><strong> {{player['player-name']}}</strong>
  </template>
...
</b-tab>