如何在列表中使用计算(computed)属性.我使用的是VueJS v2.0.2.

以下是HTML:

<div id="el">
    <p v-for="item in items">
        <span>{{fullName}}</span>
    </p>
</div>

以下是Vue代码:

var items = [
    { id:1, firstname:'John', lastname: 'Doe' },
    { id:2, firstname:'Martin', lastname: 'Bust' }
];

var vm = new Vue({
    el: '#el',
    data: { items: items },
    computed: {
        fullName: function(item) {
            return item.firstname + ' ' + item.lastname;
        },
    },
});

推荐答案

不能为每次迭代创建计算(computed)属性.理想情况下,这items个组件中的每一个都是它们的own个组件,因此每个组件都可以有自己的fullName个计算(computed)属性.

如果你不想创建一个user组件,你能做的就是使用一种方法.您可以将fullNamecomputed属性向右移动到methods,然后您可以像这样使用它:

{{ fullName(user) }}

另外,请注意,如果您发现自己需要将参数传递给computed,您可能需要一个方法.

Vue.js相关问答推荐

VITE:无法为VUE单文件组件加载URL

Vuetify 3 改变 Select 的 colored颜色

如何防止Nuxt3重新加载时滚动跳到网页顶部

Vue CLI: 如何在一个vtextfield更改时让另一个vtextfield的值也同时更改,但同时又可以覆盖它?

在vuejs中使用表单追加时如何使用布尔值

如何在vue js模板中添加foreach和for循环

将初始值设置为可直接在 HTML 中使用的 vue.js 模型

两个div元素之间的vue2过渡

使用 Vue.js 和 Jest 进行 URL 重定向测试

从组件的 内的组件调用方法

如何只查看数组中的一个对象?

如何修复跨域读取阻塞 (CORB) 阻止了 MIME 类型应用程序/json 的跨域响应问题?

如何从我的 Vuetify 数据表中正确更新 Vuex 状态

v-for 中的 VueJS 插槽

如何在nuxt路由中添加meta?

如何将 Angular 和 Vue 项目合并在一起?

Vue组件未在laravel 5.3中使用Passport 显示

'不提供名为'createRouter'的导出'' vue 3、vite 和 vue-router

try 通过 Vue.js 中的渲染传递props并观察它们

Vue $refs 对象的类型为 unknown未知