//购物车头组件 var CartHead = { props: ['welcome','login','register','navList'], template: <div class="shortcut"> <div class="w" > <div class="fl"> <ul> <li>{{welcome}}</li> <li> <a href="#">{{login}}</a> <a href="#" class="style-red">{{register}}</a> </li> </ul> </div> <div class="fr" > <ul> <li v-for="(item, index) in navList" :key="index"> <a :href="item.href">{{ item.text }}</a> <i v-if="item.icon" class="icomoon">{{ item.icon }}</i> </ul> </div> </div> </div> ,和data:function () { return{ cartname: '购物车', welcome: '购物商城欢迎您!', login: '请登录', register: '免费注册', navList: [ { text: '我的订单', href: '#' }, { text: '我的购物', href: '#', icon: '' }, { text: '商城会员', href: '#' }, { text: '企业采购', href: '#' }, { text: '关注商城', href: '#', icon: '' }, { text: '客户服务', href: '#', icon: '' }, { text: '网站导航', href: '#', icon: '' } ] } },父传子,循环后没有渲染成功请修改,把<li class="spacer"></li>也写进去
时间: 2023-12-30 07:02:36 浏览: 58
VUE--组件示例 博客 https://gudianxiaoshuo.blog.csdn.net/article/detail
你可以尝试将模板代码中的 `</ul>` 与 `</div>` 之间加上 `<li class="spacer"></li>`,这样就能够解决循环后没有渲染成功的问题了。
修改后的代码如下:
```javascript
var CartHead = {
props: ['welcome', 'login', 'register', 'navList'],
template: `
<div class="shortcut">
<div class="w">
<div class="fl">
<ul>
<li>{{welcome}}</li>
<li>
<a href="#">{{login}}</a>
<a href="#" class="style-red">{{register}}</a>
</li>
</ul>
</div>
<div class="fr">
<ul>
<li v-for="(item, index) in navList" :key="index">
<a :href="item.href">{{ item.text }}</a>
<i v-if="item.icon" class="icomoon">{{ item.icon }}</i>
</li>
<li class="spacer"></li>
</ul>
</div>
</div>
</div>
`,
data: function () {
return {
cartname: '购物车',
welcome: '购物商城欢迎您!',
login: '请登录',
register: '免费注册',
navList: [
{ text: '我的订单', href: '#' },
{ text: '我的购物', href: '#', icon: '' },
{ text: '商城会员', href: '#' },
{ text: '企业采购', href: '#' },
{ text: '关注商城', href: '#', icon: '' },
{ text: '客户服务', href: '#', icon: '' },
{ text: '网站导航', href: '#', icon: '' }
]
}
}
};
```
阅读全文