用vue中的axios 做的小案例 模仿QQ

模仿聯(lián)系人頁:


81.png
  html 代碼:

        <div class="w">
            <div class="mulu">
               <router-link to="/xiaoxi" class="one">消息</router-link>
               <router-link to="/lianxi" class="two">聯(lián)系人</router-link>
               <router-link to="/dongtai" class="three">動態(tài)</router-link>
           </div>
  //  盛放數(shù)據(jù)
             <router-view></router-view>
     </div>

  js 代碼:
  
  // 鏈接js
       <script src="js/vue.js"></script>
      <script src="js/vue-router.js"></script>
      <script src="js/axios.js"></script>
      <script>
        // 創(chuàng)建組件
           var about={
        template:`
        <div class="xiaox">
            <ul class="list">
                <li><router-link to='/lianxi/regist'>好友</router-link></li>
                <li><router-link to='/lianxi/lon'>群聊</router-link></li>
                <span><img src="./img/1.gif"></span>
            </ul>
            <router-view></router-view>
        </div>
        `
    }
//   好友
     var reg={
        template:`
          <div class="pengyou">
           <ul class='concat'>
              <li  @click="chg(index)" v-for="(value,index) in concater">
                 <b><img src="./img/2.gif"></b>
                 <span>{{value.group}}</span>
                 <span>{{value.count}}</span>
                 <ul class="con" v-show="concater[index].flag">
                   <li>
                     <img :src='value.img'>
                    <div class="lis">
                        <p>{{value.title}}</p>
                        <p>{{value.txt}}</p>
                    </div>
                   </li>
                 </ul>
              </li>
           </ul>
        </div>      
        `,
         methods:{
             chg:function(index){
            
         this.concater[index].flag=!this.concater[index].flag
       }
   },
       data:function(){
           return{
               concater:null
            
           }
       },
       mounted:function(){
          var that=this;
        axios({
             method:"get",
             url:"contan.json"
         }).then(function(resp){
             console.log(resp.data)
             that.concater=resp.data; 
         }).catch(function(err){
             console.log(err)
         })
       }
   }
 //   群聊
    var gin={
        template:`
           <div class="group">
           <ul class='concat'>
              <li  @click="add(index)" v-for="(v,index) in conca">
                 <b><img src="./img/2.gif"></b>
                 <span>{{v.group}}</span>
        
                      <ul class="main" v-show="conca[index].flag">
                   <li>
                  
                        <img :src='v.imga'>
                        <p>{{v.title}}</p>
                        <p>{{v.txt}}</p>
                   
                   </li>
            
                 </ul>
                </li>
</ul>
           </div>
    `,
       methods:{
       add:function(index){
            
         this.conca[index].flag=!this.conca[index].flag
       }
   },
       data:function(){
           return{
               conca:null
            
           }
       },
       mounted:function(){
          var that=this;
        axios({
             method:"get",
             url:"qun.json"
         }).then(function(resp){
             console.log(resp.data)
             that.conca=resp.data; 
         }).catch(function(err){
             console.log(err)
         })
       }
   }
    
    //  配置路由
       const routes=[
        {path:'/',component:about},
        {path:'/xiaoxi',component:Index},
        {
            path:'/lianxi',
            component:about,
             children:[
                {path:'/',component:reg},
                {path:'regist',component:reg},
                {path:'lon',component:gin}
            ]
        },
        {path:'/dongtai',component:fabiao}
    ]
    
    //  創(chuàng)建路由實例
    const router=new VueRouter({
        routes:routes,
         linkActiveClass:"active"
    })
    
    //  時間
      Vue.filter('date',function(data){
       return data.getHours()+":"+data.getMinutes();
   })
   
  
    new Vue({
        el:'.w',
        router:router
    })
</script>



qun.json:

  [
      {
   "group":"我的群聊",
   "imga":"./img/23.jpg",
    "title":"單純DE我們",
    "txt":"8:11",
     "flag":true
      }
]

contan.json:
  
  [
    {
    "group":"新朋友",
     "flag":false
    },
   {
    "group":"我的設(shè)備",
    "count":"1/2",
    "img":"img/53.jpg",
    "title":"我的Android手機",
    "txt":"上次登錄:2018-9-28",
     "flag":false
    },
     {
    "group":"始于顏值",
    "count":"84/115",
    "img":"img/641.jpg",
    "title":"梁萌",
    "txt":"明天放假真開心",
     "flag":true
    }
]

模擬消息頁

8fb43b88-1d97-4eb2-ad91-528556abdb83.png

js:

          //  消息

  var yanzhi={
        template:`
         <div class="xiaox">
            <div class="xinxi">
                <ul>
                    <li>
                    <img src:"/img/23">
                    <p class="p1">{{value.name}}</p>
                    <p class="p2">{{value.liao}}</p>
                   
                </li>
                </ul>
            </div>
        </div>
    `
    }

  qq.json:

    [
{
    "img":"./img/14.jpg",
    "name":"紀(jì)美",
    "liao":"干嘛呢?"
},
{
    "img":"./img/53.jpg",
    "name":"大梨",
    "liao":"要不要聽我的演唱會萧豆?"
},
{
    "img":"./img/8.jpg",
    "name":"二哈",
    "liao":"我頭像是我熟空,怎么樣好不好看"
},
{
    "img":"./img/641.jpg",
    "name":"梁萌",
    "liao":"1111"
},
{
    "img":"./img/23.jpg",
    "name":"你宛如一個智障",
    "liao":"我好像傻了"
}
]

模仿 動態(tài)頁:


0c5c961e-b550-4be7-9317-b002437c5936.png
js:

    var fabiao={
        template:`
        <div class="xiaox">
            <ul class="nav">
                <li>
                    <a href="#">
                        <img src="./img/3.jpg">
                    </a>
                </li>
                <li>
                    <a href="#">
                        <img src="./img/4.jpg">
                    </a>
                </li>
                <li><a href="#"><img src="./img/5.jpg"></a></li>
                <li><a href="#"><img src="./img/6.jpg"></a></li>
            </ul>
        </div>
        `
    }

css 樣式:

  *{
margin: 0;
padding: 0;
list-style: none;
}
a{
    text-decoration: none;
}
.active{
     border-bottom: 2px solid #818186;
    color: #585858;
}
.w{
      width:280px;
      height:630px;
      margin: 0 auto;
     background: url(img/1.jpg)no-repeat -15px -102px;
    background-size: 121% 110%;;
    box-shadow: 0px 1px 7px 1px #969595;
  }
  .mulu{
      width: 100%;
      overflow: hidden;
      border-bottom: 1px solid #f4f4f4;
    }
.one,.two,.three{
    width: 65px;
    height: 40px;
    display: block;
    margin-right:20px; 
    float: left;
    color: #818185;
    font-size: 16px;
    text-align: center;
    line-height: 40px;
    padding: 0 4px;
  }

.list{
  margin-top: 10px;
  overflow: hidden;
  }
.list li a{
    float: left;
    font-size: 15px;
    color: #747479;
    padding: 5px 10px;
    margin:0 7px;

}
 .list span{
       float: right;
      margin-right: 10px;
      line-height: 35px;
}
.list span img{
  width: 42px;
  height: 22px;
}
.pengyou ul li{
   padding: 10px;
    width:93%;
}
.pengyou ul li span{
    font-size: 14px;
    color: #000;

}
.pengyou li:hover{
       background: rgba(247, 247, 247, 0.18);
}
.pengyou p span{
    margin-right: 10px;
      margin-left: 10px;
}
.concat{
    width: 100%;
}
.con{
    overflow: hidden;
}
.con li img{
    width:40px;
    height: 40px;
    border-radius: 50%;
    float: left;
}
.lis{
      overflow: hidden;
      float: left;
     margin-left: 15px;
}
.lis p:first-child{
    font-size: 14px;
}
.lis p:nth-child(2){
    font-size: 12px;
    color: #585858;
}
.xiaox{
    width: 100%;
}
.xiaox ul{
    overflow: hidden;
}
.xiaox ul li{
float: left;
}
.nav li a{
    display: block;
     height: 136px;
    width: 140px;
}
.xinxi{
    width:100%;
}
.xinxi ul{
    margin-top: 20px;
  }
.xinxi ul li{
    padding-left: 15px;
    height: 60px;
    width: 265px;
    position: relative;
}

.xinxi ul li img{
    width: 40px;
    height: 40px;
    position: absolute;
    border-radius: 50%;
    top: 10px;
}
.xinxi ul li:hover{
  background: rgba(130, 128, 128, 0.18);
}
.p1{
    color: #000;
    position: absolute;
    left: 70px;
    font-size: 15px;
    font-family: '微軟雅黑';
    top: 10px;
}
.xinxi ul li:nth-child(3) .p1{
  color: #ff0000;
}
.xinxi ul li:last-child .p1{
    color: #ff0000;
}
.p2{
    color: #7e7d7d;
    position: absolute;
    left: 70px;
    top:30px;
    font-size: 12px;
    }
    .xinxi ul li span{
    position: absolute;
    right: 10px;
top: 10px;
  font-size: 12px;
color: #7f7f7f;
}

.group{
 margin-top:10px; 
  margin-left:20px;
  margin-right:20px;
}
.group span{
    margin-right:10px;
        font-size:14px; 
      color: #000;
}
.main{
    overflow: hidden;
}
  .concat li{
      width: 100%;
  }
.main li img{
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: block;
    float: left;
}
.main li p{
    font-size: 16px;
    float: left;
    margin-left: 10px;
    line-height: 40px;
}
.main li p:last-child{
    font-size: 12px;
    color: #7f7f7f;
    float: right;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市鼠次,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌芋齿,老刑警劉巖腥寇,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異觅捆,居然都是意外死亡赦役,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門栅炒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來掂摔,“玉大人术羔,你說我怎么就攤上這事∫依欤” “怎么了级历?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長叭披。 經(jīng)常有香客問我寥殖,道長,這世上最難降的妖魔是什么涩蜘? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任扛禽,我火速辦了婚禮,結(jié)果婚禮上皱坛,老公的妹妹穿的比我還像新娘编曼。我一直安慰自己,他們只是感情好剩辟,可當(dāng)我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布掐场。 她就那樣靜靜地躺著,像睡著了一般贩猎。 火紅的嫁衣襯著肌膚如雪熊户。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天吭服,我揣著相機與錄音嚷堡,去河邊找鬼。 笑死艇棕,一個胖子當(dāng)著我的面吹牛蝌戒,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播沼琉,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼北苟,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了打瘪?” 一聲冷哼從身側(cè)響起友鼻,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎闺骚,沒想到半個月后彩扔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡僻爽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年虫碉,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片进泼。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蔗衡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出乳绕,到底是詐尸還是另有隱情绞惦,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布洋措,位于F島的核電站济蝉,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏菠发。R本人自食惡果不足惜王滤,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望滓鸠。 院中可真熱鬧雁乡,春花似錦、人聲如沸糜俗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽悠抹。三九已至珠月,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間楔敌,已是汗流浹背啤挎。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留卵凑,地道東北人庆聘。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像勺卢,于是被迫代替她去往敵國和親掏觉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 最近考試?yán)鲜强疾缓弥德瑥囊郧暗暮贸煽円宦淝д砂母梗职謰寢尪奸_始擔(dān)心,爸爸好像最近在工作上不順心杨何,也經(jīng)常喝酒酱塔,發(fā)...
    zlz愛赤閱讀 192評論 0 0
  • 想來想去羊娃,人生中的第一封情書,決定寫給你埃跷。 十一年了蕊玷,從我的誕生的那一刻邮利,就被一種名為愛的魔法所保護(hù)著,那種魔法的...
    團(tuán)子妹妹吶閱讀 598評論 6 16