最近在調研微信小程序開發,對於一個前端小白來講,在各類框架都還用不熟的狀況下,再來開發小程序確實仍是不容易。html
小程序出來之初,聽過演講,看過一點點兒視頻,感受和angular語法有點類似(PS:那是也是隻瞭解一點點兒angular語法);前端
近兩天開始嘗試開發小程序,講真,語法和angular和vue都很類似,小程序提供的語法如今還算全面,不少方法都有提供;vue
下面簡述一下經常使用方法的使用:ajax
一:數據綁定;json
html小程序
js 直接把數據寫在data裏面就好了,這樣數據能夠直接渲染到頁面上,微信小程序
那麼問題來了,一般咱們會數據都是動態加載的,在vue語法中,能夠直接改變數據驅動頁面數據改變,可是在小程序裏面不能立刻改變,api
必需要使用微信
this.setData({app
msg : "我改變了"
});
這樣當數據改變是,頁面上的數據纔會相應跟着改變。
二:獲取數據;
使用Vue 或者angular 時,我想要獲取msg的值 ,直接 this.msg 就ok了,而小程序是這樣的 this.data.msg ;
三 : 事件綁定:
這裏就列舉經常使用的時間綁定,用vue時,直接使用@click=「functionName」 ,小程序 bindtap="functionName" ;
另外常見的還有input框的時間監聽, <input bindinput="queryMsg" value="{{msg}}"/> bindinput=「functionName」;
input框發生改變時想幹嗎就幹嗎,input框的value值要用 e.detail.value 來獲取;
四 : ajax請求VS小程序的wx.request({}) 詳細用法能夠上官網文檔查看;
五 : 跳轉window.location.href VS 小程序跳轉 wx.navigateTo({url : "../query-detail/query-detail"}) !!!!注意,在小程序方法中不能跳轉外鏈,只能在應用內部跳轉; 跳轉有五個方法
一、 wx.navigateTo(OBJECT) 保留當前頁面,跳轉到應用內的某個頁面,使用wx.navigateBack
能夠返回到原頁面。
二、wx.redirectTo(OBJECT)關閉當前頁面,跳轉到應用內的某個頁面。
三、wx.switchTab(OBJECT) 跳轉到 tabBar 頁面,並關閉其餘全部非 tabBar 頁面
四、wx.navigateBack(OBJECT) 關閉當前頁面,返回上一頁面或多級頁面。可經過 getCurrentPages()
) 獲取當前的頁面棧,決定須要返回幾層。
五、wx.reLaunch(OBJECT)
詳細使用方法跳轉到 官網 https://mp.weixin.qq.com/debug/wxadoc/dev/api/ui-navigate.html#wxnavigatetoobject
六 : 點擊事件無效,頁面數據渲染正常;
頁面能正常顯示,不過按鈕事件不能觸發 提示沒法在當場頁面找到觸發事件
Do not have XX handler in current page: RR. Please make sure that XX handler has been defined in RR, or RR has been added into app.json
仔細檢查,路徑添加了,事件也添加了,依然錯誤,沒法找到錯誤緣由,最後嘗試替換路徑順序,頁面點擊事件正常
以上方法 來自 http://www.jianshu.com/p/75a1c6a8a316
個人解決方法是: 在html中寫了點擊事件的方法 好比
而後再 js中也寫了註冊了query這個函數,可是,仍是報錯,多是由於修改了html中的query,而後我看js中也有query函數,同樣的就沒有管,結果仍是沒法點擊,最後,我把html中的query負責一遍,再到js中把就是中的query覆蓋一次,這樣就能夠了。很神奇,我也不知道是偶然還咋回事了。