<div class="fr"> <ul> <li><a href="#">我的订单</a></li> <li class="spacer"></li> <li> <a href="#">我的购物</a> <i class="icomoon"></i> </li> <li class="spacer"></li> <li><a href="#">商城会员</a></li> <li class="spacer"></li> <li><a href="#">企业采购</a></li> <li class="spacer"></li> <li><a href="#">关注商城</a> <i class="icomoon"></i></li> <li class="spacer"></li> <li><a href="#">客户服务</a> <i class="icomoon"></i></li> <li class="spacer"></li> <li><a href="#">网站导航</a> <i class="icomoon"></i></li> </ul> </div>改成组件,使用v-for循环,并且把数据放在data中
时间: 2023-07-09 18:47:06 浏览: 118
好的,您可以将上述 HTML 代码改写成 Vue 组件如下:
```
<template>
<div class="fr">
<ul>
<li v-for="(nav, index) in navList" :key="index">
<a :href="nav.href">{{ nav.label }}</a>
<i v-if="nav.icon" class="icomoon">{{ nav.icon }}</i>
</li>
</ul>
</div>
</template>
<script>
export default {
data() {
return {
navList: [
{ label: '我的订单', href: '#' },
{ label: '我的购物', href: '#', icon: '' },
{ label: '商城会员', href: '#' },
{ label: '企业采购', href: '#' },
{ label: '关注商城', href: '#', icon: '' },
{ label: '客户服务', href: '#', icon: '' },
{ label: '网站导航', href: '#', icon: '' },
],
};
},
};
</script>
```
在组件中使用了 `v-for` 指令循环渲染 `navList` 数组中的数据。`v-for` 指令的语法是 `v-for="(item, index) in array"`,其中 `item` 表示数组中的每一项数据,`index` 表示每一项数据的索引。组件中使用了 `:key="index"` 来提高循环渲染的效率。同时,使用了 `v-if` 指令来判断是否需要渲染带有图标的 `i` 元素。最后,将 `navList` 数组放到了组件的 `data` 中。
阅读全文