wepy腳手架工具

學(xué)習(xí)目標(biāo)

  1. 使用wepy框架開發(fā)小程序 =
  2. 了解ES6中的class類
    . 輪播圖組件的使用
  3. 使用flex布局
  4. 請(qǐng)求api數(shù)據(jù)兜看,把數(shù)據(jù)綁定到輪播圖

使用wepy框架開發(fā)小程序

一款讓小程序支持組件化開發(fā)的框架舶得,類Vue開發(fā)風(fēng)格

項(xiàng)目地址: https://github.com/Tencent/wepy

安裝wepy腳手架工具

wepy-cli文檔地址:https://tencent.github.io/wepy/document.html#/./doc.cli

全局安裝

npm install -g wepy-cli

初始化項(xiàng)目

// 默認(rèn)生成帶有組件其他模塊的項(xiàng)目(redux)
// wepy init standard wepyshop  

// 默認(rèn)生成空白項(xiàng)目
wepy init empty wepyshop

切換到項(xiàng)目目錄耍休,安裝依賴

cd wepyshop

npm install

編譯為小程序

注意:初始化項(xiàng)目時(shí)未輸入appid的可以在項(xiàng)目根目錄project.config.json中修改`appid`字段
// 加上--watch設(shè)置為實(shí)時(shí)編譯
wepy build --watch

編譯后會(huì)在項(xiàng)目根目錄生成一個(gè)dist文件夾缝驳,dist文件夾就是編譯后的小程序項(xiàng)目挽牢,使用微信開發(fā)工具導(dǎo)入項(xiàng)目

通過vscode打開項(xiàng)目唯灵,wepy語法高亮需要安裝vue的高亮插件 - Vetur

總結(jié):

wepy的使用流程:
?
npm install -g wepy-cli
wepy init empty wepyshop
cd wepyshop & npm install
wepy build --watch
微信開發(fā)工具導(dǎo)入dist

?

了解ES6中的class類

面向?qū)ο蟮幕A(chǔ)

  1. 類的基本概念
  2. 類的繼承和多態(tài)性

class的基礎(chǔ)語法

注意:類名的首字母必須大寫
// Cat是類
// name是Cat類的屬性
class Cat {
    name = "hello kitty";
}   

// 生成對(duì)象實(shí)例
const smallCat = new Cat();

使用typeof查看類的類型

typeof Cat; // function

因?yàn)闉g覽器并不支持類的寫法钝鸽,所以class最終會(huì)編譯成function

類的constructor方法
constructor方法是類的默認(rèn)方法喷户,通過new命令生成對(duì)象實(shí)例時(shí)唾那,自動(dòng)調(diào)用該方法。

也就說只要調(diào)用new Cat(), 那么相當(dāng)于執(zhí)行Cat類中constructor方法褪尝,如果沒有定義闹获,會(huì)自動(dòng)生成一個(gè)空的方法;

class Cat {
}

// 等同于
class Cat {
  constructor() {}
}

添加實(shí)例屬性

生成多個(gè)對(duì)象,對(duì)象都有自己的名字, constructor內(nèi)部可以使用this來訪問實(shí)例,來給實(shí)例添加屬性

class Cat {
    constructor(name){
        this.name = name;
    }
}

const smallCat = new Cat("hello kitty");
const bigCat = new Cat("tiger");
注意:上例的this.name就是實(shí)例的屬性

添加實(shí)例方法
在類內(nèi)部添加函數(shù) ,注意不要帶function

class Cat{
    constructor(name){
        this.name = name;
    }

    sound(voice){
        console.log(voice);
    }
}

const smallCat = new Cat("hello kitty");
smallCat.sound("喵喵喵");
注意: 實(shí)例方法內(nèi)部也可以通過this來訪問當(dāng)前實(shí)例

類的靜態(tài)方法

靜態(tài)方法是類的自身的方法河哑,可以通過類名來訪問,實(shí)例無法訪問類的靜態(tài)方法避诽,通常用來定義類的默認(rèn)就存在的并且不會(huì)改變的東西

class Cat{
    constructor(name){
        this.name = name;
    }

    static footer(){
        console.log(4);
    }
}

//寫法等同于:
Cat.footer = function(){
    console.log(4);
}

類的繼承

Class 可以通過extends關(guān)鍵字實(shí)現(xiàn)繼承,子類必須在constructor方法中調(diào)用super方法,否則新建實(shí)例時(shí)會(huì)報(bào)錯(cuò)璃谨。
這是因?yàn)樽宇惐仨毾韧ㄟ^父類的構(gòu)造函數(shù)完成構(gòu)建沙庐,得到與父類同樣的實(shí)例屬性和方法鲤妥,再加上子類自己的實(shí)例屬性和方法, 如果存在相同的屬性或者方法,則子類會(huì)覆蓋父類的屬性或方法
?
// 父類
class Animal{
constructor(){
this.age = 2;
}
}

// 子類
class Cat extends Animal{
    constructor(name){
        super();
        this.name = name
    }

    sound(voice){
        console.log(voice);
    }
}

把子類的name屬性和sound方法也封裝到Animal類中

注意: super必須在子類的constructor中第一時(shí)間調(diào)用,因?yàn)樽宇惐仨毾韧ㄟ^父類的構(gòu)造函數(shù)完成構(gòu)建, (類的靜態(tài)方法拱雏,也可以被子類繼承)

總結(jié)

  1. 類使用class聲明棉安,類名的首字母必須大寫
  2. constructor方法是類的默認(rèn)方法
  3. 實(shí)例方法內(nèi)部也可以通過this來訪問當(dāng)前實(shí)例
  4. 靜態(tài)方法前面使用static聲明, 實(shí)例無法訪問類的靜態(tài)方法
  5. 繼承使用關(guān)鍵字extends, 子類必須在constructor方法中調(diào)用super方法

首頁

首頁基本布局

輪播圖組件的使用

swipe組件的使用

文檔地址:https://developers.weixin.qq.com/miniprogram/dev/component/swiper.html

基本使用

<swiper indicator-dots autoplay>
    <swiper-item>
      <image src="https://img.alicdn.com/simba/img/TB14dt2knnI8KJjy0FfSuwdoVXa.jpg" width="100%" height="150"/>
      <image src="https://img.alicdn.com/tfs/TB1txjivHorBKNjSZFjXXc_SpXa-520-280.jpg_q90_.webp" width="100%" height="150"/>
    </swiper-item>
</swiper>

使用wx:for讀取data數(shù)據(jù)來實(shí)現(xiàn)

// script
data = {
    swiperData: [
        'https://img.alicdn.com/simba/img/TB14dt2knnI8KJjy0FfSuwdoVXa.jpg',
        'https://img.alicdn.com/tfs/TB1txjivHorBKNjSZFjXXc_SpXa-520-280.jpg_q90_.webp'
    ]
}

// template
<swiper indicator-dots autoplay>
    <swiper-item wx:for="{{swiperData}}">
      <image src="{{item}}" width="100%" height="150"/>
    </swiper-item>
</swiper>

wepy.request的使用

使用wepy.request請(qǐng)求接口, 替換輪播圖的數(shù)據(jù)

接口api:https://itjustfun.cn/api/public/v1/home/swiperdata

基本使用方法

wepy.request({
    // 開發(fā)者服務(wù)器接口地址
    url: 'https://itjustfun.cn/api/public/v1/home/swiperdata',
    
    // 請(qǐng)求的參數(shù)
    data: {},

    // HTTP 請(qǐng)求方法,默認(rèn)"GET"
    method: "GET",

    // 返回的數(shù)據(jù)格式
    dataType: "json",

    // 接口調(diào)用成功的回調(diào)函數(shù)
    success: (res) => {
        console.log(res)
    }
})
注意:使用request請(qǐng)求前需要綁定域名到開發(fā)設(shè)置的服務(wù)器域名

wepy中更新數(shù)據(jù)

在原生小程序中使用this.setData;

this.setData({
    title: 'this is title';
})

在wepy中只需要

this.title = 'this is title';

而在異步中調(diào)用更新數(shù)據(jù)铸抑,比如wepy中使用的時(shí)候垂券,需要調(diào)用一次 this.$apply()方法

wepy.request({
    url: "",
    success: (res) => {
        this.title = res.title;
        this.$apply();
    } 
}

第三天內(nèi)容知識(shí)點(diǎn)總結(jié):

  1. 使用 VSCode 安裝wepy插件
  2. 能使用 npm install -g wepy-cli 全局安裝 wepy
  3. 能使用 wepy init empty wepyshop 初始化 wepy 商城項(xiàng)目
  4. 能使用 wepy build --watch 實(shí)時(shí)編譯 wepy 商城項(xiàng)目
  5. 能把 wepy 商城項(xiàng)目導(dǎo)入到微信開發(fā)者工具中
  6. 掌握 ES6 Class 基礎(chǔ)語法,通過class 關(guān)鍵詞定義類羡滑,注意首字母大寫的類名規(guī)范
  7. 掌握 class 中 constructor 函數(shù)添加類實(shí)例屬性
  8. 掌握 class 中 static 關(guān)鍵詞添加類的靜態(tài)方法
  9. 掌握 class 繼承基礎(chǔ)語法菇爪,通過 extends 關(guān)鍵詞實(shí)現(xiàn)類的基本繼承
  10. 掌握 super() 函數(shù)繼承父類的 constructor 的實(shí)例屬性,注意 super() 書寫位置
  11. 了解通過 typeof 關(guān)鍵詞查看類的本質(zhì)是一個(gè)函數(shù)柒昏,類可以看做構(gòu)造函數(shù)的另一種寫法
  12. 掌握 swiper 組件實(shí)現(xiàn)輪播圖凳宙,添加屬性實(shí)現(xiàn)自動(dòng)播放,無縫滾動(dòng)职祷,指示器的小圓點(diǎn)顏色修改
  13. 能利用 flex 模式實(shí)現(xiàn)了首頁導(dǎo)航的布局
  14. 能利用 flex 模式實(shí)現(xiàn)了首頁樓層的布局
  15. 能通過 git clone 命令把老師的項(xiàng)目代碼克隆到自己電腦上
  16. 能通過微信開發(fā)者工具調(diào)試器的 AppData 面板查看當(dāng)前小程序頁面的 data 數(shù)據(jù)
    17 能實(shí)現(xiàn)首頁輪播圖的虛擬數(shù)據(jù)的數(shù)據(jù)綁定
    18 掌握通過 wepy.request() 成功發(fā)送請(qǐng)求
    19 掌握把請(qǐng)求結(jié)果的數(shù)據(jù)賦值給當(dāng)前頁面的 data 數(shù)據(jù)氏涩,如:this.swiperData = res.data
    20 掌握 wepy 在異步函數(shù)中,需手動(dòng)調(diào)用 this.$apply() 更新 data 數(shù)據(jù)從而更新視圖層

注意

1 import導(dǎo)入組件時(shí)候后面不要.wpy

2 vscode高亮有梆,先點(diǎn)擊純文本是尖,選擇與wpy配送關(guān)聯(lián),輸入vue

3 wepy={ // 中有三種方法

? app,

? page, //用在page文件夾下的泥耀,.wpy文件

? component // 用在components文件夾下的.wpy文件

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末饺汹,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子痰催,更是在濱河造成了極大的恐慌兜辞,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件夸溶,死亡現(xiàn)場離奇詭異逸吵,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)缝裁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門扫皱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人捷绑,你說我怎么就攤上這事韩脑。” “怎么了胎食?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵扰才,是天一觀的道長。 經(jīng)常有香客問我厕怜,道長衩匣,這世上最難降的妖魔是什么蕾总? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮琅捏,結(jié)果婚禮上生百,老公的妹妹穿的比我還像新娘。我一直安慰自己柄延,他們只是感情好蚀浆,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著搜吧,像睡著了一般市俊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上滤奈,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天摆昧,我揣著相機(jī)與錄音,去河邊找鬼蜒程。 笑死绅你,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的昭躺。 我是一名探鬼主播忌锯,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼领炫!你這毒婦竟也來了偶垮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤驹吮,失蹤者是張志新(化名)和其女友劉穎针史,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碟狞,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年婚陪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了族沃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡泌参,死狀恐怖脆淹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情沽一,我是刑警寧澤盖溺,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站铣缠,受9級(jí)特大地震影響烘嘱,放射性物質(zhì)發(fā)生泄漏昆禽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一蝇庭、第九天 我趴在偏房一處隱蔽的房頂上張望醉鳖。 院中可真熱鬧,春花似錦哮内、人聲如沸盗棵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纹因。三九已至,卻和暖如春琳拨,著一層夾襖步出監(jiān)牢的瞬間瞭恰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國打工从绘, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留寄疏,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓僵井,卻偏偏與公主長得像陕截,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子批什,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

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

  • title: 小程序教程之wepy 參考文檔 中文文檔:https://tencent.github.io/wep...
    采香行處蹙連錢閱讀 11,930評(píng)論 8 24
  • 田小娥 1农曲、生于書香門第,父親是清末秀才驻债; 2乳规、嫁給郭舉人做二房,但在郭家身份地位較低合呐,淪為性奴隸暮的; 3、勾引黑娃...
    愚先生_1eb7閱讀 428評(píng)論 0 0
  • 夏天的中午淌实,市場前的廣場上空無一人冻辩。商店的門敞開著,卻看不到里面的人拆祈。如果你因?yàn)楹闷孀哌M(jìn)去恨闪,你會(huì)發(fā)現(xiàn)那些商店往里走...
    夢藤閱讀 4,337評(píng)論 0 1
  • 感受1:如果被發(fā)型師坑了后果不亞于毀容 感受2:從發(fā)型能看出一個(gè)人的性格嗎?很多時(shí)候可能都只是我們的刻板印象而已 ...
    燕子_729d閱讀 244評(píng)論 4 3