注冊(cè)

微信小程序用什么框架,框架的核心是響應(yīng)的數(shù)據(jù)綁定系統(tǒng)

2017-12-22
導(dǎo)讀:框架 小程序開發(fā)框架的目標(biāo)是通過盡可能簡(jiǎn)單、高效的方式讓開發(fā)者可以在微信中開發(fā)具有原生APP體驗(yàn)的服務(wù)。 框架提供了自己的視圖層描述語言WXML和WXSS,以及基于JavaScript的邏輯層...

框架


小程序開發(fā)框架的目標(biāo)是通過盡可能簡(jiǎn)單、高效的方式讓開發(fā)者可以在微信中開發(fā)具有原生APP體驗(yàn)的服務(wù)。

框架提供了自己的視圖層描述語言WXML和WXSS,以及基于JavaScript的邏輯層框架,并在視圖層與邏輯層間提供了數(shù)據(jù)傳輸和事件系統(tǒng),可以讓開發(fā)者可以方便的聚焦于數(shù)據(jù)與邏輯上。

 

響應(yīng)的數(shù)據(jù)綁定


框架的核心是一個(gè)響應(yīng)的數(shù)據(jù)綁定系統(tǒng)。

整個(gè)系統(tǒng)分為兩塊視圖層(View)和邏輯層(App Service)

框架可以讓數(shù)據(jù)與視圖非常簡(jiǎn)單地保持同步。當(dāng)做數(shù)據(jù)修改的時(shí)候,只需要在邏輯層修改數(shù)據(jù),視圖層就會(huì)做相應(yīng)的更新。

通過這個(gè)簡(jiǎn)單的例子來看:

<!-- Thie is our View -->
<view> Hello {{name}}! </view>
<button bindtap="changeName"> Click me! </button>
// This is our App Service.
// This is our data.
var helloData = {
  name: 'WeChat'
}

// Register a Page.
Page({
  data: helloData,
  changeName: function(e) {
    // sent data change to view.
    this.setData({
      name: 'MINA'
    })
  }
})
  • 開發(fā)者通過框架將邏輯層數(shù)據(jù)中的name與視圖層的name進(jìn)行了綁定,所以在頁面一打開的時(shí)候會(huì)顯示Hello WeChat!
  • 當(dāng)點(diǎn)擊按鈕的時(shí)候,視圖層會(huì)發(fā)送changeName的事件給邏輯層,邏輯層找到對(duì)應(yīng)的事件處理函數(shù)
  • 邏輯層執(zhí)行了setData的操作,將name從weChat變?yōu)?code>MINA,因?yàn)樵摂?shù)據(jù)和視圖層已經(jīng)綁定了,從而視圖層會(huì)自動(dòng)響應(yīng)改變?yōu)?code>Hello MINA! 。

頁面管理


框架管理了整個(gè)小程序的頁面路由,可以做到頁面間的無縫切換,并給以頁面完整的生命周期。開發(fā)者需要做的只是將頁面的數(shù)據(jù),方法,生命周期函數(shù)注冊(cè)進(jìn)框架中,其他的一切復(fù)雜的操作都交由框架處理。

基礎(chǔ)組件


框架提供了一套基礎(chǔ)的組件,這些組件自帶微信風(fēng)格的樣式以及特殊的邏輯,開發(fā)者可以通過組合基礎(chǔ)組件,創(chuàng)建出強(qiáng)大的微信小程序 。

豐富的API


框架提供豐富的微信原生API,可以方便的調(diào)起微信提供的能力,如獲取用戶信息,本地存儲(chǔ),支付功能等。

 

更多微信小程序開發(fā)教程,可以關(guān)注hi小程序。
重磅推薦:小程序開店目錄

第一部分:小商店是什么

第二部分:如何開通一個(gè)小商店

第三部分:如何登錄小商店

第四部分:開店任務(wù)常見問題

第五部分:小商店可以賣什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結(jié)算

第十部分:小程序客服

第十一部分:電商創(chuàng)業(yè)

第十二部分:小程序游戲開發(fā)