
歡迎閱覽
作者介紹:
本人Java特工,代號:Cris Li ; 中文名:克瑞斯理
簡書地址: http://www.itdecent.cn/u/c508b0afaaee
CSDN地址: https://blog.csdn.net/jianli95
個人純潔版博客: https://lijian69.github.io/blog/
最終的項目圖,如圖所示:

image.png
這里只是附加代碼和功能;具體需要有一些基礎(chǔ)Vue基礎(chǔ)的人
一、搜索相關(guān)的功能點
input 獲得焦點觸發(fā)事件、和失去焦點觸發(fā)事件、異步查詢事件,頁面的展示事件、
<template>
<div class="search-panel">
<el-row class="m-header-searchbar">
<el-col
:span="3"
class="left">
<img
src="http://s0.meituan.net/bs/fe-web-meituan/e5eeaef/img/logo.png"
alt="美團">
</el-col>
<el-col
:span="15"
class="center">
<div class="wrapper">
<el-input
v-model="search"
placeholder="搜索商家或地點"
@focus="focus"
@blur="blur"
@input="input"/>
<button class="el-button el-button--primary"><i class="el-icon-search"/></button>
<dl
v-if="isHotPlace"
class="hotPlace">
<dt>熱門搜索</dt>
<dd
v-for="(item,idx) in hotPlace"
:key="idx">
<a :href="'/products?keyword='+encodeURIComponent(item.name)">{{ item.name }}</a>
</dd>
</dl>
<dl
v-if="isSearchList"
class="searchList">
<dd
v-for="(item,idx) in searchList"
:key="idx">
<a :href="'/products?keyword='+encodeURIComponent(item)">{{ item }}</a>
</dd>
</dl>
</div>
<p class="suggest">
<a
v-for="(item,idx) in hotPlace"
:key="idx"
:href="'/products?keyword='+encodeURIComponent(item)">{{ item }}</a>
</p>
<ul class="nav">
<li><nuxt-link
to="/"
class="takeout">美團外賣</nuxt-link></li>
<li><nuxt-link
to="/"
class="movie">貓眼電影</nuxt-link></li>
<li><nuxt-link
to="/"
class="hotel">美團酒店</nuxt-link></li>
<li><nuxt-link
to="/"
class="apartment">民宿/公寓</nuxt-link></li>
<li><nuxt-link
to="/"
class="business">商家入駐</nuxt-link></li>
</ul>
</el-col>
<el-col
:span="6"
class="right">
<ul class="security">
<li><i class="refund"/><p class="txt">隨時退</p></li>
<li><i class="single"/><p class="txt">不滿意免單</p></li>
<li><i class="overdue"/><p class="txt">過期退</p></li>
</ul>
</el-col>
</el-row>
</div>
</template>
<script>
export default {
data() {
return {
isFocus:false,
search:null,
hotPlace:["火鍋","火鍋1","火鍋2","火鍋3","火鍋4"],
searchList:["故宮","頤和園"]
}
},
computed:{
isHotPlace:function () {
return this.isFocus && !this.search;
},
isSearchList:function(){
return this.isFocus && this.search;
}
},
methods:{
focus:function(){
this.isFocus = true;
},
blur:function () {
var that = this;
// 延時方式點擊時 點擊不了
that._timer = setTimeout(function (params) {
that.isFocus = false;
},200);
//如果讓延時無效 可以使用
//clearTimeout(that._timer)
},
input:function(){
console.log("input");
}
}
}
</script>
<style lang="scss">
</style>
選擇自定義模板
前面章節(jié)已經(jīng)提起到Layouts目錄下存放的是頁面的自定義模板,如果想使用現(xiàn)在Layouts目錄下自定義一個模板vue文件,如下所示
<template>
<div class="layout-blank">
<nuxt /> //這里存放你的二級頁面
</div>
</template>
<script>
export default {
}
</script>
二級頁面如何向自定義模板中塞進去
<template>
<div>
1
</div>
</template>
<script>
export default {
layout:'blank' //這里選擇該頁面應(yīng)該塞到那個模板中
}
</script>