Có thể thêm một v-for khác lặp lại qua danh sách dài một mục:
<div id="el">
<p v-for="item in items">
<template v-for="fullName in [item.firstName + ' ' + item.lastName]">
<span>{{fullName}}</span>
</template>
</p>
</div>
Không đẹp, nhưng đó là những gì bạn đang tìm kiếm: một đối tượng xung quanh khoảng đó có thuộc tính gọi là fullName chứa giá trị cụ thể đó.
Và nó không chỉ là một tính năng hư ảo, vì chúng ta có thể cần sử dụng giá trị đó ở nhiều nơi, ví dụ:
<span v-if="...">I am {{fullName}}</span>
<span v-else-if="...">You are {{fullName}}</span>
<span v-else>Who is {{fullName}}?</span>
Trường hợp sử dụng của tôi là tôi đang tạo ngày trong vòng lặp v-for (vâng, một lịch khác), như:
<v-row v-for="r in 5">
<v-col v-for="c in 7">
<template v-for="day in [new Date(start.getTime() + 24*60*60*1000*((c-1) + 7*(r-1)))]">
<span>
Some rendering of a day like {{day.getYear()}} and
{{day.getMonth()}} etc.
</span>
</template>
</v-col>
</v-row>
(Để ngắn gọn, tôi đã bỏ qua :key="whatever"
cài đặt)
Tôi thừa nhận rằng cách tốt nhất sẽ là di chuyển nó sang một thành phần riêng biệt, nhưng nếu chúng ta tạo một thành phần mới cho mọi chữ lót như thế này và chỉ sử dụng thành phần đó tại nơi duy nhất này, thì chúng ta chỉ làm ô nhiễm một không gian tên khác.
Có thể một v-let="day as new Date(...)"
chỉ thị sẽ hữu ích cho mục đích như vậy.