vue怎么动态获取数据列
在 vue.js 中动态获取数据列有三种方法:使用动态属性,将属性名称放入方括号中。使用 v-bind 指令,动态绑定属性。使用计算属性,提供一种更具可维护性的方式来计算动态值。
如何在 Vue.js 中动态获取数据列?
方法 1:使用动态属性
Vue.js 允许您使用动态属性来获取数据,可以通过将属性名称放在方括号中来实现。例如:
<template><ul><li v-for="column in columns" :key="column"> {{ row[column] }} </li> </ul></template><script>import { ref } from 'vue';export default { setup() { const columns = ref(['name', 'age', 'city']); const row = ref({ name: 'John', age: 30, city: 'New York' }); return { columns, row } }}</script>
方法 2:使用 v-bind 绑定
立即学习“前端免费学习笔记(深入)”;
您还可以使用 v-bind 指令动态绑定属性:
<template><ul><li v-for="column in columns" :key="column"> {{ row[v-bind(column)] }} </li> </ul></template><script>import { ref } from 'vue';export default { setup() { const columns = ref(['name', 'age', 'city']); const row = ref({ name: 'John', age: 30, city: 'New York' }); return { columns, row } }}</script>
方法 3:使用计算属性
计算属性提供了一种更具可维护性的方式来计算动态值:
<template><ul><li v-for="column in computedColumns" :key="column"> {{ row[column] }} </li> </ul></template><script>import { ref, computed } from 'vue';export default { setup() { const columns = ref(['name', 'age', 'city']); const row = ref({ name: 'John', age: 30, city: 'New York' }); const computedColumns = computed(() => { return columns.value.filter(column => column !== 'age'); }); return { columns, row, computedColumns } }}</script>