gpt4 book ai didi

javascript - 在 Vue 中使用 v-for 将行添加到一个表而不是另一个表

转载 作者:行者123 更新时间:2023-11-30 21:15:51 30 4
gpt4 key购买 nike

我需要在表 #dynamic 中添加行,但表 static 不应受到影响。

如果我点击带有下面代码的按钮,两个表都会更新,因为它们有相同的 v-for。而且,如果我将 v-for 放在 v-for 中,我的数据将不会被提取。我不知道如何“唯一”第一个表。

vue/html:

<template>
<table id="dynamic">
<tr v-for="rows in list">
<td>Content of row {{ rows.item1 }}</td>
<td>Content of row {{ rows.item2 }}</td>
</tr>
</table>

<div @click="block = !block">click</div>

<table id="static">
<tr v-for="rows in list">
<td>Content of row: {{ rows.item3 }}</td>
<td>Content of row: {{ rows.item4 }}</td>
</tr>
</table>
</template>

js

export default {
data: function () {
return {
list: [],
};
},
props: ['channelId'],

mounted() { },
created() {
this.fetchChannel(this.channelId);
},
methods: {
fetchChannel: function (channelId) {
$.getJSON('/api/channel/' + channelId, function (data) {
this.list = data;
}.bind(this));
},
}
}

我找到了一些帮助示例,例如 this codepenfiddle但我没有成功。

最佳答案

如果 #static 表真的永远不会在其数据更改时进行更新,这就是使用 the v-once directive 的情况。 :

<table id="static" v-once>
<tr v-for="rows in list">
<td>Content of row: {{ rows.item3 }}</td>
<td>Content of row: {{ rows.item4 }}</td>
</tr>
</table>

这将告诉 Vue 只渲染表格一次,然后在任何重新渲染时忽略它。

Here's a fiddle.

关于javascript - 在 Vue 中使用 v-for 将行添加到一个表而不是另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45695183/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com