实例解答vue组件的使用方式
程序员文章站
2022-05-05 23:43:47
...
这篇文章主要介绍了实例解答vue组件的使用方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
在项目开发中,我们有必要将一些公共模块封装成组件。
例如下图:
看到这个样式,我们一定会想,下面三条数据一定是后台返回给前端一个数组,然后我们遍历出来。
第一种做法: 直接在页面去遍历这个数组,然后把三条数据展示出来。
第二种做法: 封装一个一条数据时候的组件,然后在页面遍历这个组件。
实际开发中我们采用的是第二种方式,哪有人一定会问了,第一种多简单,干嘛用第二种。
理由:
如果一个模块在多个地方展示,而你的这个模块只是写在自己的页面里面,其他地方也需要,这时候就需要重新写这个模块,费时费力。
所以我们先定一个组件,以上面为例:
文件名字: todayHou.vue
<template> <p class="today-body"> <p class="today-list clearfix"> <p class="badge-box fl"> <span class="today-badge green" v-if="option.tradeDesc=='出售' || option.tradeDesc=='租购'">售</span> <span class="today-badge red" v-if="option.tradeDesc=='租售' || option.tradeDesc=='租购' ">租</span> <span class="today-badge white" v-if="option.typeDesc">私</span> <span class="today-badge white" v-if="option.levelDesc">{{option.levelDesc}}</span> <p class="today-time">{{option.followTime}}</p> </p> <p class="info-box fl"> <p class="info-name"><span>{{option.communityName}}</span><span>·{{option.roomNum }}室</span><span>{{option.hallNum }}厅</span><span>{{option.toiletNum }}卫</span><span>{{option.area }}·㎡</span></p> </p> <p class="price-box fr"> <p class="info-price">{{option.salePrice}} <span>万</span> </p> <p class="info-rent">{{option.rentPrice}} <span>元/月</span> </p> </p> </p> </p></template><script>export default { name: "todayHou", props: ['option'], <!-- 传入的每一项的值 --> data() { return { }; } };</script><style lang="less"></style>
主页面: home.vue
<!-- 使用组件 --><template> <p class="home"> <Card class="bg-white today"> <today-hou v-for="item in 组件遍历的数组 " v-bind:key="item.你设定的唯一标识" v-bind:option="item"></today-hou> </Card> </p></template><script>import TodayHou from "./todayHou"; <!-- 引入组件 -->export default { data() { return { } }, components: { TodayHou <!-- 注册组件 --> }, created() { this.组件遍历的数组 = "后台接口返回值"; <!-- 组件传值 --> }, methods:{ } };</script><style lang="less">@import url("./home.less");.none-border{ padding:0 !important;}</style>
相关推荐:
以上就是实例解答vue组件的使用方式的详细内容,更多请关注其它相关文章!