Vue中使用JSX循環非常簡單,只需要使用v-for指令即可。下面完整的示例展示了如何使用v-for循環生成一個列表:
import Vue from 'vue'
Vue.component('my-component', {
render() {
return (列表:
{this.list.map(item =>(- {item.text}
))}
)
},
data() {
return {
list: [
{ text: '第一項' },
{ text: '第二項' },
{ text: '第三項' }
]
}
}
})
new Vue({
el: '#app',
template: ' '
})
在上面的例子中,我們使用了JSX語法的箭頭函數來生成列表項。其中,{this.list.map(item =>(
除了使用箭頭函數,我們還可以使用普通的函數,實現的效果是一樣的:
import Vue from 'vue'
Vue.component('my-component', {
render() {
return (列表:
{this.list.map(this.renderItem)}
)
},
methods: {
renderItem(item) {
return{item.text} }
},
data() {
return {
list: [
{ text: '第一項' },
{ text: '第二項' },
{ text: '第三項' }
]
}
}
})
new Vue({
el: '#app',
template: ' '
})
在這個例子中,我們使用了一個renderItem方法來生成列表項。注意,在使用v-for循環時,我們可以使用item作為當前循環項的變量名。如下面的例子:
import Vue from 'vue'
Vue.component('my-component', {
render() {
return (列表:
{this.list.map(item =>(- {item.text + ' - ' + item.id}
))}
)
},
data() {
return {
list: [
{ id: 1, text: '第一項' },
{ id: 2, text: '第二項' },
{ id: 3, text: '第三項' }
]
}
}
})
new Vue({
el: '#app',
template: ' '
})
在這個例子中,我們添加了一個id屬性,用于展示如何在JSX中訪問循環項的其他屬性。