在我的vue.js應用程序中,我需要顯示用戶可以單擊的項目列表。使用Vuejs,如何在v-for循環內使用正確的模式組件
點擊後,這些項目中的每一個都會觸發一個模式,其中包含用戶剛剛單擊的項目的附加信息。
我有我的Items.vue
組件至今:
<template>
<div id="content">
<li v-for="item in items" class="list-item pa2 ba">
<div class="f5 pt2 pb2">
<span>{{item.name}}</span>
</div>
</li>
</div>
</template>
<script>
import Items from '@/api/items';
export default {
name: 'items',
asyncComputed: {
items: {
async get() {
const items = await Items.getAll();
return items.data;
},
default: []
}
},
components: {}
}
</script>
現在,我可以簡單地增加一個模態分量的v-for
循環,從而爲每個項目一個模式,但是這似乎並不理想例如,如果我有一個數千個項目的列表。
這使我相信,模式或許應該在應用程序的根目錄中放置(在我的情況App.vue
),像這樣:
<template>
<div id="app">
<modal></modal>
<router-view></router-view>
</div>
</template>
<script>
export default {
name: 'app'
}
</script>
然後以某種方式與自定義數據發射每當我需要它。
但是,我不確定如何繼續。我如何使用v-for
循環內的自定義信息來啓動此模式,該循環位於子組件中,相對於App.vue
?