成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Wepy-小程序踩坑記

tinna / 2348人閱讀

摘要:引言用過原生開發(fā)的小程序也知道除了其他功能性的內(nèi)容并不多對于需要做大型項目來說是比較難入手的,因此朋友推薦的我就入坑鳥。。。開發(fā)還是和部分有出入,因此如下記錄,入手的教程就不發(fā)了只發(fā)踩坑。

引言

用過原生開發(fā)的小程序也知道除了api 其他功能性的內(nèi)容并不多對于需要做大型項目來說是比較難入手的,因此朋友推薦的wepy我就入坑鳥。。。
這么一個跟vue的開發(fā)方式類似的框架,不過說起來跟vue類似,但是用起來還真不是那么簡單。api開發(fā)還是和部分vue有出入,因此如下記錄,入手的教程就不發(fā)了只發(fā)踩坑。

官方文檔

小程序的官方文檔
wepy官方文檔

下面是已經(jīng)踩過的坑

wepy 問題查找

https://github.com/Tencent/we...
比較建議在這里查找下遇到的問題之后在提問畢竟這里都是收集比較齊全

標簽中的指令簡寫

跟Vue類似

對于動態(tài)賦值的屬性可以使用 :attr="value" 的方式

對于綁定事件可以使用@click="fn"的方式

data使用注意點

對于視圖中需要用到的數(shù)據(jù),應該事先在data中定義一下,哪怕此時沒有數(shù)據(jù),也應該定義一個空值

WePY中的methods的使用

只能聲明頁面的bind、catch事件,不能聲明自定義方法

自定義方法應該跟methods平級

this 運用

小程序里修改data 里面的屬性或者賦值都需要利用this.setdata()而wepy 基本就是利用this.屬性即可。如果是異步返回或者更新dom需要this.$apply()觸發(fā)臟值檢測

頁面跳轉(zhuǎn)

navigateTo() 和 redirectTo() 的差別。

navigateTo()保留當前頁面,跳轉(zhuǎn)到應用內(nèi)的某個頁面(即:顯示頂部導航欄左上角返回按鈕,可以有返回路徑)
redirectTo()關閉當前頁面,跳轉(zhuǎn)到應用內(nèi)的某個頁面(即:不顯示左上角返回按鈕,如需要返回在頁面內(nèi)自己添加按鈕寫路徑或者利用wx.navigateBack()和 getCurrentPages() 獲取當前的頁面棧,決定需要返回幾層。

簡單來說如果你需要tabbar有返回就用navigateTo,不需要就用redirectTo

只能用 switchTab() 跳轉(zhuǎn)到 tabbar 頁面

文件上傳

上傳文件沒有傳統(tǒng)html中的文件域(),要想上傳文件只能使用API: uploadFile()

更新DOM$apply

如果需要更新DOM,應該在隨后調(diào)用組件實例的$apply方法,才能更新到頁面中

this.name="abc";
this.$apply()

PS:對于性能要求較高的應用,不要頻繁的調(diào)用$apply()更新DOM,可以根據(jù)實際情況更新父組件向子組件傳遞數(shù)據(jù),通過props的方式傳遞

如果需要傳遞動態(tài)數(shù)據(jù),加上.sync的修飾符就可以解決(:prop.snyc="item")

如果需要子組件數(shù)據(jù)同步到父組件,需要在定義props的時候設置twoWay:true

(所有異步數(shù)據(jù)傳遞必須用$apply,同步的話才能使用.sync)

mixin

wepy的mixin,與vue中的mixin執(zhí)行順序相反

wepy中,會先執(zhí)行組件自身的,再執(zhí)行mixin中的

vue中對于鉤子函數(shù),會先執(zhí)行mixin中的,再執(zhí)行組件自身的;vue中methods如果和mixin同名,那么只會執(zhí)行自身的方法

關于canvas和base64

小程序中可以進行canvas相關操作,但是跟純html中的canvas有所不同(api差異),canvas的使用都應該參照:小程序中的canvas

arrayBuffer和base64互轉(zhuǎn)

本段內(nèi)容在文檔中是搜索不到的,但是確實是支持的,使用如下2種方式:

wx.arrayBufferToBase64(arrayBuffer)
wx.base64ToArrayBuffer(base64)

命名規(guī)范

小程序內(nèi)部定義的實例API都以$開頭,所以我們在定義實例屬性、方法的時候不能以$開頭,以便區(qū)分

同名組件共享同一實例及數(shù)據(jù)

循環(huán)渲染組件時,容易出現(xiàn)組件數(shù)據(jù)相互污染??梢杂米钔鈱拥慕M件監(jiān)聽事件冒泡以修改數(shù)據(jù),同時觸發(fā)事件的組件用setTimeout包裹,保證執(zhí)行順序。

循環(huán)渲染組件:

wepy的循環(huán)渲染組件,必須使用 標簽,或者微信官方的標簽(這兩個標簽都是不會渲染到dom的)否則就不會渲染成功。

組件component 沒有 onLoad 等頁面事件

頁面中設置好 this.$broadcast("someEvent", option);

組件監(jiān)聽事件則可以解決

page

頁面類,繼承自wepy.component,擁有頁面所有的屬性與方法。
全部屬性繼承自wepy.component。而wepy.component沒有onLoad 等方法

未完待續(xù)-----------------

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/93546.html

相關文章

  • 程序踩坑

    摘要:寫在前面一直有在關注小程序,也做過一些,不過一直沒上正式項目,剛好這次公司有小程序的項目就入坑了。是美團剛出的小程序框架,也很不錯,可以直接用的寫法去進行開發(fā),學習成本較低,缺點是剛推出,雖然美團內(nèi)部有在使用,不過社區(qū)還沒起來。 寫在前面 一直有在關注小程序,也做過一些demo,不過一直沒上正式項目,剛好這次公司有小程序的項目就入坑了。項目開發(fā)完,記錄一下遇到的一些坑吧。 框架選用 框...

    RyanHoo 評論0 收藏0
  • 微信程序 海報生成坑記

    摘要:最近有個需求是要生成分享海報,讓用戶可以將圖片保存到本地然后分享到朋友圈。本來以為是一個很簡單的需求,可是萬萬沒想到,微信會這么坑。 最近有個需求是要生成分享海報,讓用戶可以將圖片保存到本地然后分享到朋友圈。本來以為是一個很簡單的需求,可是萬萬沒想到,微信會這么坑。剛開始的思路是這樣的: 后臺根據(jù)小程序傳過來的參數(shù)獲取對應的小程序碼,然后與背景圖合成之后將base64格式的圖片傳給小程...

    lidashuang 評論0 收藏0
  • wepy框架開發(fā)程序文檔

    摘要:目錄項目構(gòu)建文件使用優(yōu)化之處組件通信的使用注意事項報錯記錄踩坑記錄項目構(gòu)建官方文檔地址鏈接項目源碼地址鏈接項目資料地址鏈接簡單介紹是一個微信小程序框架,支持模塊化開發(fā),開發(fā)風格類似。使用的方式請求小程序原生都將化。 目錄 wepy項目構(gòu)建 wepy文件使用 wepy優(yōu)化之處 wepy組件通信 wepy的API使用 wepy注意事項 wepy報錯記錄 wepy踩坑記錄 1. wep...

    Luosunce 評論0 收藏0
  • Notadd 2.0 全新 Node.js 版本~ (開發(fā)中) [從 PHP 到 node 的坑記

    摘要:有著最全的協(xié)議支持,同時有各種非阻塞拓展,可以說是最符合要求的,但是異步需要對做很大的改動。的計劃將基于開發(fā),同時也提供一些無法提供的功能和特性。 一點小遺憾 對于 Notadd 我們本來期望它實現(xiàn)更多... 盡管我們也嘗試做了很多努力,但是由于 PHP 本身的局限,以及考慮到開發(fā)環(huán)境配置的復雜程度,最終使用了折中方案。接下來,我們談談整個技術(shù)選型歷程,也供今后相關開發(fā)者做借鑒和參考:...

    Tonny 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<