【微信小程序3】開(kāi)始首頁(yè)的制作&頁(yè)面跳轉(zhuǎn)

先規(guī)劃好頁(yè)面功能。

底部tabbar我分了3個(gè)嗓奢,一個(gè)是發(fā)現(xiàn)(首頁(yè))讼撒,一個(gè)是播放(只放播放頁(yè)),一個(gè)是我的(用來(lái)存儲(chǔ)個(gè)人播放歷史,歌單)
至于每日推薦、歌單根盒、排行榜钳幅、電臺(tái)、MV這些都是放在“發(fā)現(xiàn)“內(nèi)部炎滞。

發(fā)現(xiàn)頁(yè)面

搜索

點(diǎn)擊搜索框敢艰,跳轉(zhuǎn)至搜索頁(yè)面,為什么要單獨(dú)有一個(gè)搜索頁(yè)面册赛?當(dāng)我們搜索歌曲的時(shí)候钠导,如果就在當(dāng)前頁(yè)面,那么搜索結(jié)果要么蓋在當(dāng)前頁(yè)面上森瘪,要么將其他內(nèi)容擠下去辈双。這樣的交互效果并不好。

跳轉(zhuǎn)至搜索頁(yè)面柜砾,這里就涉及到跳轉(zhuǎn)事件。
這里將幾個(gè)跳轉(zhuǎn)事件以及他們的區(qū)別列一下:

  • wx.navigate :保留當(dāng)前頁(yè)面换衬,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁(yè)面痰驱。但是不能跳到 tabbar 頁(yè)面。使用wx.navigateBack可以返回到原頁(yè)面瞳浦。小程序中頁(yè)面棧最多十層,可以基本滿(mǎn)足頁(yè)面之間跳轉(zhuǎn)需求担映。
    (1)直觀(guān)上來(lái)講就是跳到第二個(gè)頁(yè)面時(shí),左上角有返回按鈕叫潦。
    (2)頁(yè)面跳走后會(huì)調(diào)用 onHide方法蝇完。即第一個(gè)頁(yè)面并沒(méi)有被關(guān)閉,只是被隱藏起來(lái)了矗蕊。

  • wx.redirectTo :關(guān)閉當(dāng)前頁(yè)面短蜕,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁(yè)面。但是不允許跳轉(zhuǎn)到 tabbar 頁(yè)面傻咖。當(dāng)層級(jí)關(guān)系超過(guò)10層時(shí)朋魔,頁(yè)面跳轉(zhuǎn)采用這個(gè)。
    (1)直觀(guān)上來(lái)講是跳到第二個(gè)頁(yè)面時(shí)卿操,左上角是沒(méi)有返回按鈕的警检。
    (2)頁(yè)面跳走后會(huì)調(diào)用onUnload 方法,即第一個(gè)頁(yè)面被關(guān)閉和銷(xiāo)毀了害淤。

  • wx.switchTab: 需要跳轉(zhuǎn)到tabbar頁(yè)面扇雕,需要用 wx.switchTab
    (比如這里從第二步到第三步:我的①-->播放歷史②-->返回"我的"頁(yè)③)

    tabbar

  • 三個(gè)跳轉(zhuǎn)的使用方法一致,均為:

// wx.navigateTo
wx.navigateTo({
  url: '../xxxx/xxxx'
})

// wx.redirectTo
wx.redirectTo({
  url: '../xxx/xxx'
})

// wx.switchTab
wx.switchTab({
  url: '../xx/xx'
})

這里采用的是wx.navigateTo

大概就是這樣

menu欄目

menu

搭建dom結(jié)構(gòu)的時(shí)候窥摄,特地去查了一下wxmlhtml標(biāo)簽的對(duì)應(yīng)關(guān)系

html wxml
<div></div> <view></view>
<scroll-view></scroll-view>滾動(dòng)視圖
<movable-view></movable-view>可移動(dòng)的視圖容器镶奉,在頁(yè)面中可以拖拽滑動(dòng),必須在movable-area組件中,并且必須是直接子節(jié)點(diǎn),否則不能移動(dòng)腮鞍。
<h1></h1>...<h6></h6>
<p></p><span></span>
<view></view>
<text></text>:不是塊級(jí)元素
<i class="icon"> <icon></icon>
<input type="text">
<input type="checkbox">
<input type="radio">
<input type="file">
<button></button>
<input/>
<checkbox/>
<radio/>
<view bindtab="chooseImage">
<button bindtap="setDisabled"></button>
<a href="#"></a> <navigator url="#" redirect></navigator >
<img src=""> <image src="" ></image >
... ...

小程序還新增了不少組件值骇,例如<map></map>
確定好用什么標(biāo)簽組件之后,開(kāi)始寫(xiě)menu欄目移国。

menu欄

首頁(yè)父頁(yè)面剩下的部分

menu下方是滾動(dòng)區(qū)域吱瘩,里面暫時(shí)放推薦歌單,和新歌放送兩個(gè)模塊迹缀。同時(shí)有個(gè)回到頂部按鈕使碾,方便用戶(hù)回到頂部選擇(原本右側(cè)是有一個(gè)回到頂部按鈕,但是轉(zhuǎn)念一想祝懂,滾動(dòng)區(qū)域只有歌單票摇,若想去其它功能頁(yè)面,只需要點(diǎn)擊menu處的按鈕即可砚蓬,故刪除回到頂部功能)

首頁(yè)默認(rèn)展示1

首頁(yè)滾動(dòng)時(shí)

再看“推薦歌單”與“新歌放送”兩個(gè)部分矢门,這兩塊的布局樣式為一致,如果是vue項(xiàng)目灰蛙,此處是共用一個(gè)組件祟剔,但是小程序除了自定義組件還有一個(gè)模板功能。

組件 & 模板
具體的就不多說(shuō)了摩梧,模板可以看這里物延,自定義組件看這里。這里說(shuō)一下區(qū)別仅父。

區(qū)別 template模板 Component組件
功能 主要是展示叛薯,方法在調(diào)用的頁(yè)面中定義,比如說(shuō)首頁(yè)調(diào)用了這個(gè)模板笙纤,那么這個(gè)模板需要用到的方法就要在首頁(yè)中定義 有自己的業(yè)務(wù)邏輯耗溜,相當(dāng)于一個(gè)獨(dú)立的頁(yè)面。
目錄結(jié)構(gòu) 單獨(dú)創(chuàng)建template目錄省容,此目錄下再分開(kāi)管理各模板强霎,每個(gè)模板只包含wxml、wxss文件蓉冈,兩者命名相同 單獨(dú)創(chuàng)建component目錄城舞,創(chuàng)建子目錄,然后再新建Component(此步驟可在微信開(kāi)發(fā)者工具里新建) ,組件由4個(gè)文件構(gòu)成寞酿,js與json配置有自己的規(guī)范[1]
模板文件 一個(gè)template.wxml中能寫(xiě)多個(gè)模板家夺,用name區(qū)分 與一般wxml一樣寫(xiě)法
樣式文件 有自己的樣式 也有自己的樣式
頁(yè)面引用 兩種方式引用,1.import導(dǎo)入伐弹,然后使用is屬性(這里就要用到前面的name名稱(chēng)了)拉馋,聲明需要使用的模板,再將模板所需要的data傳入
2.include引入,這種引入方式是將除了<template/> <wxs/> 外的整個(gè)代碼引入
需要在json文件進(jìn)行配置煌茴,在需要引入的模板文件直接使用就行了[2]随闺,樣式文件也要通過(guò)@import導(dǎo)入

這里我選擇首頁(yè)的歌單部分做成組件,然后引入在首頁(yè)引入這個(gè)組件蔓腐,為什么要這樣矩乐?因?yàn)槊咳胀扑]、歌單回论、大部分都是這種相同的dom結(jié)構(gòu)散罕,如果用模板。我在每個(gè)頁(yè)面都要在寫(xiě)一套js傀蓉,所以封裝成組件是最好的選擇欧漱。

上一張圖看下效果:


首頁(yè)大致效果圖

【Tips】

  1. 之前做原型的時(shí)候漏掉了,每一塊默認(rèn)展示最多6個(gè)葬燎,右上角有一個(gè)more去歌單廣場(chǎng)
  2. 歌單的組件內(nèi)部做了一個(gè)判斷误甚,如果是video,則樣式為一行兩個(gè)谱净,并且寬度增加靶草; 還有一個(gè)判斷就是,判斷是否是歌曲岳遥,是歌曲則中間出現(xiàn)一個(gè)播放圖,表示點(diǎn)擊該項(xiàng)直接去播放頁(yè)裕寨,否則跳往該歌單浩蓉。
  3. 左上角的每日推薦中間放了一個(gè)當(dāng)前日期,表示今日的推薦歌曲~

  1. Component的js和json代碼

    js文件

    json配置文件

    json文件
    ?

  2. 引入組件的代碼
    使用已注冊(cè)的自定義組件前宾袜,首先要在頁(yè)面的 json 文件中進(jìn)行引用聲明捻艳。此時(shí)需要提供每個(gè)自定義組件的標(biāo)簽名和對(duì)應(yīng)的自定義組件文件路徑:


    引入代碼

    這樣,在頁(yè)面的 wxml 中就可以像使用基礎(chǔ)組件一樣使用自定義組件庆猫。節(jié)點(diǎn)名即自定義組件的標(biāo)簽名认轨,節(jié)點(diǎn)屬性即傳遞給組件的屬性值。

    ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末月培,一起剝皮案震驚了整個(gè)濱河市嘁字,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌杉畜,老刑警劉巖纪蜒,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異此叠,居然都是意外死亡纯续,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)猬错,“玉大人窗看,你說(shuō)我怎么就攤上這事【氤矗” “怎么了显沈?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀(guān)的道長(zhǎng)析校。 經(jīng)常有香客問(wèn)我构罗,道長(zhǎng),這世上最難降的妖魔是什么智玻? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任遂唧,我火速辦了婚禮,結(jié)果婚禮上吊奢,老公的妹妹穿的比我還像新娘盖彭。我一直安慰自己,他們只是感情好页滚,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布召边。 她就那樣靜靜地躺著,像睡著了一般裹驰。 火紅的嫁衣襯著肌膚如雪隧熙。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,007評(píng)論 1 284
  • 那天幻林,我揣著相機(jī)與錄音贞盯,去河邊找鬼。 笑死沪饺,一個(gè)胖子當(dāng)著我的面吹牛躏敢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播整葡,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼件余,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了遭居?” 一聲冷哼從身側(cè)響起啼器,我...
    開(kāi)封第一講書(shū)人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎俱萍,沒(méi)想到半個(gè)月后镀首,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡鼠次,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年更哄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了芋齿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡成翩,死狀恐怖觅捆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情麻敌,我是刑警寧澤栅炒,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布,位于F島的核電站术羔,受9級(jí)特大地震影響赢赊,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜级历,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一释移、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧寥殖,春花似錦玩讳、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至粤策,卻和暖如春樟澜,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背叮盘。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工秩贰, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人熊户。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像吭服,于是被迫代替她去往敵國(guó)和親嚷堡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

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