微信小程序开发之路(一)
今天來為大家講講微信小程序,大概講一下在開發小程序時需要注意的幾個點。在開始之前先了解下微信小程序是個什么東西吧。
微信小程序(weixinxiaochengxu),簡稱小程序,縮寫XCX,英文名mini program,是一種不需要下載安裝即可使用的應用,它實現了應用“觸手可及”的夢想,用戶掃一掃或搜一下即可打開應用。
以上是百度百科中對微信小程序的定義。簡單來講,微信小程序是為了優化用戶體驗,相對于原生App來說它具有“用完即走,無需安裝”的優點,而相對于傳統網頁來說又具有加載速度更快并且更安全的優點。總之,本人挺喜歡小程序的,看好它。
好了,言歸正傳,拿好筆劃重點咯~~~
一、微信小程序屬單向綁定,而并非雙向綁定
什么是單向綁定?什么是雙向綁定?
單向綁定是MVVM框架中的一種數據處理模式,它是將Model(也就是數據層)中的數據綁定到View(也就是表現層),當JS中的數據發生改變時,View也會相應發生改變。而雙向綁定則更加強大,當View中數據發生改變時,JS中的數據也會響應發生改變,一般是用在表單當中。
個人覺得微信小程序長得非常像最近特別火的前端框架Vue.js,Vue小而輕,用起來特別方便,而且很容易入門,屬雙向綁定。但是小程序雖然表面長得跟Vue很像,卻只能單向綁定數據,Model改變View則跟著改變,View改變Model卻不變。
那問題來了,有時候表單類控件內容發生改變時需要在Model中相應做出改變時怎么處理呢?
這個其實也不難,對小程序開發文檔相對熟悉的應該知道,表單類控件一般都帶有類似bindinput和bindchange之類的事件處理屬性,這樣就可以用這些屬性綁定自定義函數來改變Model中的數據了。
二、不能通過this.key=value的方式來直接改變Model中的內容進而改變View
這也是小程序與Vue的區別之一。Vue可以直接通過this.key=value的方式直接改變View,而小程序只能通過this.setData({ key: value })的方式來改變View。但是需要注意的是,小程序當中也可以使用this.key=value,但是并不能改變Model,只是在Page對象中創建一個新的屬性并賦值而已,一般可以通過此方式來實現Page對象屬性之間的通信。簡單舉個栗子吧~~~
Page({data:{name: "" // [1]},onLoad(){ //頁面加載時執行this.setName();this.getName();},name: "", // [2]//自定義方法,此寫法屬ES6語法setName(){ this.setData({//此處可以改變 [1] 處的name的值,并在View中渲染相應值name: "Hello World!"});//此處不能改變 [1] 處的name的值,改變的只是 [2] 處name 的值this.name = "Hello Wechat!"; },getName(){console.log( this.data.name ); // "Hello World!"console.log( this.name ); // "Hello Wechat!"} });好了,今天就先分享到這里,后面會跟大家分享更多微信小程序開發的知識哦~~~
本文為原創文章,轉載請注明出處,謝謝!
總結
以上是生活随笔為你收集整理的微信小程序开发之路(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 橙光游戏《乱世浮华》攻略04-27
- 下一篇: 嫦娥奔月文言文翻译及原文