imagelist和imgshow跳轉(zhuǎn)之間的參數(shù)傳遞

  • 核心技術(shù)
1.home跳到imagelist
 <li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-3">
                       <router-link to="/photo/imagelist">
                            <span class="mui-icon mui-icon-email"></span>
                            <div class="mui-media-body">圖片分享</div>
                       </router-link>
        </li>
2.imagelist跳到imgshow
<!-- 2.0 圖片的列表 使用mint-ui中的延遲加載組件 -->
        <ul class="imgul">
            <li v-for="item in imagelist">
                <router-link v-bind="{to:'/photo/imageshow/'+item.id}">
                    <img class="lazyimg" v-lazy ="item.img_url">
                    <div class="desc">
                        <h5>{{item.title}}</h5>
                        <p>
                            {{item.zhaiyao}}
                        </p>
                    </div>
                </router-link>
            </li>
        </ul>
3.data里面放要的數(shù)據(jù)cates:[], // 存儲(chǔ)分類(lèi)數(shù)據(jù), imagelist:[] // 存儲(chǔ)圖片數(shù)據(jù)
3.頭上的分類(lèi)數(shù)據(jù),要實(shí)現(xiàn)滑動(dòng)效果,全部是不變的,點(diǎn)擊相應(yīng)的標(biāo)題得到對(duì)應(yīng)id的圖片
  滑動(dòng)效果:.cate{
      max-width: 400px;
      overflow-x:auto;  --不隱藏,會(huì)有滾動(dòng)條出來(lái)
      overflow-y:hidden; 
設(shè)置ul的寬度this.$refs.cateul.style.width=width+"px";
  }這樣寫(xiě)在電腦上可以看到滾動(dòng)條,但是在手機(jī)上面看不到
4.加載圖片用了用mint-ui中的延遲加載組件
 <img class="lazyimg" v-lazy ="item.img_url">
image[lazy=loading] {
    width: 100%;
    height: 300px;
    margin: auto;
  }
url的地址不全面,所以要遍歷拼接地址
獲取圖片的途徑是點(diǎn)擊事件<li v-for="item in cates"><a @click="getimagelist(item.id)">{{item.title}}</a></li>
5.初始化的時(shí)候就要先加載了
created(){
          this.getcates();
          this.getimagelist(0);
      }
  • imagelist.vue
<template>
    <div class="tmpl">
        <!-- 1.0 圖片的分類(lèi) -->
        <div class="cate">
            <ul ref="cateul">
                <li><a href="#">全部</a></li>             
                <li v-for="item in cates"><a @click="getimagelist(item.id)">{{item.title}}</a></li>
            </ul>
        </div>

        <!-- 2.0 圖片的列表 使用mint-ui中的延遲加載組件 -->
        <ul class="imgul">
            <li v-for="item in imagelist">
                <router-link v-bind="{to:'/photo/imageshow/'+item.id}">
                    <img class="lazyimg" v-lazy ="item.img_url">
                    <div class="desc">
                        <h5>{{item.title}}</h5>
                        <p>
                            {{item.zhaiyao}}
                        </p>
                    </div>
                </router-link>
            </li>
        </ul>
    </div>
</template>
<script>
    import common from '../../kits/common.js'
    export default{
        data(){
            return {
                cates:[], // 存儲(chǔ)分類(lèi)數(shù)據(jù)
                imagelist:[] 
            }
        },
        methods:{
            // 1.0 獲取分類(lèi)數(shù)據(jù)
            getcates(){
                this.$http.get(common.apiDomain+'/api/getimgcategory')
                .then(res=>{
                    // 狀態(tài)判斷,將內(nèi)容給this.cates 
                    this.cates = res.body.message;
                    // 獲取分類(lèi)數(shù)據(jù)的個(gè)數(shù)計(jì)算出ul的總寬度,+1是因?yàn)榍懊嬗袀€(gè)全部
                    var count = res.body.message.length + 1;
                     //每一個(gè)寬度78
                    var width = 78 * count; 
                    // 在ul上設(shè)置寬度,要加上px
                    this.$refs.cateul.style.width=width+"px";
                });
            },
            // 2.0 獲取圖片數(shù)據(jù)
            getimagelist(cateid){
                // 為了解決第一章圖片永遠(yuǎn)不會(huì)改變的bug
                this.imagelist = [];
                // 1.0 利用ajax請(qǐng)求圖片數(shù)據(jù)
                var url = common.apiDomain+'/api/getimages/'+cateid;
                this.$http.get(url).then(res=>{
                    // 2.0 將res.body.message中的 img_url屬性的值添加上圖片域名的前綴
                    res.body.message.forEach(item=>{
                        item.img_url  = common.imgDomain+item.img_url;
                    });

                    this.imagelist = res.body.message;
                });
            }
        },
        created(){
            this.getcates();
            this.getimagelist(0);
        }
    }
</script>
<style scoped>
    .cate{
        max-width: 400px;
        overflow-x:auto; 
        overflow-y:hidden; 
    }
    .cate li{
        list-style: none;
        display: inline-block;
        padding-left: 10px;
    }
    .cate ul{
        width: 800px;
        padding-left: 5px;
    }
    .imgul{
        padding: 0 2px;
    }
    .imgul li{
        list-style: none;
        position: relative;
    }
    .lazyimg{
        width: 100%;
    }
    image[lazy=loading] {
      width: 100%;
      height: 300px;
      margin: auto;
    }
    .desc{
        position: absolute;
        left: 0px;
        bottom:0px;
        background-color: rgba(0,0,0,0.4);
    }
    .desc h5,.desc p{
        color:#fff;
    }
</style>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容