Vue.js 将参数值作为Vuejs中的键传递给数据对象
我现在正在创建一个包含4个不同表的页面。每个表中的所有行都有更新和删除按钮。当我分别为每个表编写所有CRUD函数时,我可以使一切工作正常。但我想做的是创建一个更新操作的函数,例如,并将表名作为参数传递Vue.js 将参数值作为Vuejs中的键传递给数据对象,vue.js,Vue.js,我现在正在创建一个包含4个不同表的页面。每个表中的所有行都有更新和删除按钮。当我分别为每个表编写所有CRUD函数时,我可以使一切工作正常。但我想做的是创建一个更新操作的函数,例如,并将表名作为参数传递 <tr v-for="asset in assets" :key="asset.id"> <td>{{asset.id}}</td> <td>{{asset.name}}</td> <td>{{asset.cate
<tr v-for="asset in assets" :key="asset.id">
<td>{{asset.id}}</td>
<td>{{asset.name}}</td>
<td>{{asset.category.name}}</td>
<td>
<a href @click.prevent="editDialog(asset, 'asset')">Edit</a>
<a href @click.prevent="deleteThis(asset.id)">Delete</a>
</td>
</tr>
这是我的问题。如果您查看代码的最后一行,我将尝试填写一个名为asset的表单,该表单附带editDialogasset,‘asset’作为其第二个参数。但使用这种语法,Vuejs将转到数据对象并查找表作为键而不是资产,我得到的是表未定义错误。我怎样才能让它工作?谢谢。我建议您更改此.table.filldata;有了这个。$data[table].filldata
让我知道它是否有效
<v-dialog v-model="dialog">
<div v-if="editMode">
<div v-if="target_table == 'asset'">
<form>...</form>
</div>
</div>
<div v-else>...</div>
</v-dialog>
export default {
data() {
return {
dialog: false,
editMode: false,
target_table: "",
assets: {},
asset: new Form({
id: "",
name: "",
category: "",
}),
}
},
methods: {
fetchAssets() {
axios.get("/api/assets").then(({ data }) => (this.assets = data));
},
editDialog(data, table) {
this.target_table = table;
this.editMode = true;
this.dialog = true;
this.table.fill(data);
},
},
}