Vue.js VueJS内嵌式模板和其中的v-for

Vue.js VueJS内嵌式模板和其中的v-for,vue.js,Vue.js,我试图使用我的下拉菜单的内嵌模板,但在状态之间切换时,它会把事情弄得一团糟。 这是我在主模板中使用的代码: <div> <article v-for="(game, index) in games"> <dropdown ref="dropdown" inline-template> <a v-for="(branch, index) in game.branches" :key="'

我试图使用我的下拉菜单的内嵌模板,但在状态之间切换时,它会把事情弄得一团糟。 这是我在主模板中使用的代码:

<div>
<article v-for="(game, index) in games">
<dropdown ref="dropdown" inline-template>
<a v-for="(branch, index) in game.branches" :key="'branch' + index" :href="branch.link">{{ branch.name }}</a>
</dropdown>
</article>
</div>

它在加载时工作正常,但当我在类别之间切换时,链接会混乱,加载时的相同链接会保留在其他渲染中

我做错什么了吗?

看看

在2.2.0+中,当对组件使用v-for时,现在需要一个键

因此,您应该在
v-For
中使用
:key

您可以将密钥分配给索引,或使其更为唯一,如:

:key=“'branch'+index”

如果您以前在组件中使用过类似的键(键应该是唯一的)。

请查看

在2.2.0+中,当对组件使用v-for时,现在需要一个键

因此,您应该在
v-For
中使用
:key

您可以将密钥分配给索引,或使其更为唯一,如:

:key=“'branch'+index”


如果您以前在组件中使用过类似的键(键应该是唯一的)。

您无法在
标签上设置唯一的
:键。
密钥必须是循环元素的唯一标识符。在下面的示例中,我使用当前循环元素的索引,但这只是为了示例。通常认为使用索引不是好的做法,因为它可以更改强制元素以重新渲染。
您将注意到,v-for中包含索引的var的名称不同:
索引var也需要有唯一的名称,否则内部循环中的索引将从外部循环“窃取”索引

<article v-for="(game, gIndex) in games" :key="gIndex">
   <dropdown ref="dropdown" inline-template>
      <a v-for="(branch, bIndex) in branches"
        :key="gIndex+bIndex" 
        :href="branch.link">
            {{ branch.name }}
      </a>
   </dropdown>
</article>

标签上设置唯一的
:键
。
密钥必须是循环元素的唯一标识符。在下面的示例中,我使用当前循环元素的索引,但这只是为了示例。通常认为使用索引不是好的做法,因为它可以更改强制元素以重新渲染。
您将注意到,v-for中包含索引的var的名称不同:
索引var也需要有唯一的名称,否则内部循环中的索引将从外部循环“窃取”索引

<article v-for="(game, gIndex) in games" :key="gIndex">
   <dropdown ref="dropdown" inline-template>
      <a v-for="(branch, bIndex) in branches"
        :key="gIndex+bIndex" 
        :href="branch.link">
            {{ branch.name }}
      </a>
   </dropdown>
</article>


Up投票,因为答案与我的答案相同,我们两人同时发布:)Up投票,因为答案与我的答案相同,我们两人同时发布:)谢谢,我尝试过,但不幸的是,这并不能解决问题…:(我已经更新了我的问题,因为我在另一个元素中使用了下拉组件,该元素也在迭代,分支是基于游戏的更改。@AnTrakS您的代码仍然没有在任何地方显示
:key
的用法。我建议更新您的代码,显示您尝试过但无效的内容。@AnTrakS我已经更新了我的答案,向您展示了如何使用
:key
。)w使用:输入两个loops@Raffobaffo添加索引不会创建唯一的键谢谢,我已经尝试过了,但不幸的是,这并不能解决问题…:(我已经更新了我的问题,因为我在另一个元素中使用了下拉组件,该元素也在迭代,分支是基于游戏的更改。@AnTrakS您的代码仍然没有在任何地方显示
:key
的用法。我建议更新您的代码,显示您尝试过但无效的内容。@AnTrakS我已经更新了我的答案,向您展示了如何使用
:key
。)w使用:输入两个loops@Raffobaffo添加索引不会创建唯一的键。请提供更多代码,以及如何在类别之间切换?我们是否可以看到相应的代码?最好的选择是在CodeSandbox或类似工具上复制您的示例。请提供更多代码,以及如何切换赌注类别之间?我们也能看到代码吗?最好的选择是在CodeSandbox或类似工具上重现您的示例。