最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序?qū)W習(xí)之初探小程序

 更新時間:2016年09月27日 09:31:45   作者:甄某某某某  
這兩天“微信小程序”這個詞占據(jù)了朋友圈,大有一番風(fēng)起云涌之勢,當(dāng)然,還不可能夸張到使原生App開發(fā)人員失業(yè)這種程度。當(dāng)然,作為一名技術(shù)人員,時刻保持對新技術(shù)的好奇心是必須的,所以在網(wǎng)上找大神的教程,搭建了一下開發(fā)環(huán)境,來學(xué)習(xí)一下這個新的開發(fā)框架。

前言

9月21日,傳言已久的微信應(yīng)用號正式以“微信公眾平臺小程序”的名義發(fā)布,依然采取了內(nèi)測制度,目前只有少部分開發(fā)者可使用。“微信之父”張小龍在朋友圈介紹,這種小程序是一種不需要下載安裝即可使用的應(yīng)用,用戶掃一掃或者搜一下即可打開應(yīng)用,對用戶來說應(yīng)用觸手可及,對微信來說體現(xiàn)了用完即走的理念。應(yīng)用號出來之后,有人說微信這次要顛覆AppStore了,開發(fā)者直接基于微信開發(fā)小程序就可以了,不用開發(fā)什么App了。更有人說微信就是一個操作系統(tǒng),真的如此嗎?不管怎樣,我們下面先來一探微信小程序。

一 項目文件結(jié)構(gòu)

當(dāng)打開微信小程序的Demo的時候,我個人習(xí)慣是先看整個項目的文件結(jié)構(gòu),先大致弄清這部分是干什么的,那部分又是干什么的,微信小程序基本的文件結(jié)構(gòu)如下圖:


首先我們一眼就可以看到,在項目根目錄有三個文件,app.jsapp.json,以及app.wxss,下面來談?wù)勎覍@三個文件的理解。

1 . app.js

app.js中包含一個App()函數(shù),我把它理解為微信小程序真正意義上的入口,也就是說當(dāng)啟動一個小程序的時候,首先會執(zhí)行到這里。App()函數(shù)用來注冊一個小程序,參數(shù)為Object類型,可以在其中指定小程序的生命周期函數(shù)(理解還不是很透徹), 當(dāng)然,也可以定義一個全局的數(shù)據(jù)和函數(shù),
我們可以在頁面中調(diào)用全局的getApp()方法,獲得小程序?qū)嵗?,從而來調(diào)用我們定義的全局?jǐn)?shù)據(jù)和函數(shù)。

2 . app.json

app.json可以對小程序進(jìn)行全局的配置,比如我們可以配置小程序有哪些頁面、窗口表現(xiàn)形式、設(shè)置網(wǎng)絡(luò)超時時間、設(shè)置多tab等。下面就是一個簡單的配置:

{ 
"pages": [ 
"page/index/index", 
"page/logs/index" 
], 
"window": { 
"navigationBarTitleText": "Demo" 
}, 
"tabBar": { 
"list": [{ 
"pagePath": "page/index/index", 
"text": "首頁" 
},{
"pagePath": "page/logs/logs",
 "text": "日志" 
}]
 }, 
"networkTimeout": { 
"request": 10000, 
"downloadFile": 10000 
}, 
"debug": true
}

3 .app.wxss

app.wxss文件比較好理解了,它相當(dāng)于一個全局的樣式表,等同于前端中的css文件,任何頁面都可以使用這個樣式表,當(dāng)然,如果某個頁面重復(fù)定義了某個屬性的表現(xiàn)形式的話,則會覆蓋app.wxss文件中定義的。

以上三個文件中,app.js和app.json是每個微信小程序必須要有的,app.wxss則根據(jù)需要來添加。

在圖一的文件結(jié)構(gòu)中,還有三個文件夾目錄:images,pages,utils,這種形式就類似我們開發(fā)中分包的做法(其實就是)-將具有類型性質(zhì)的文件或者類分目錄存放,這樣便于維護項目。

我們來關(guān)注下pages目錄,這個目錄存放了小程序的所有頁面。

這里我們定義了兩個頁面,index(首頁)和logs(顯示某種日志)。
可以看到,在每個頁面中,也有類似前邊兒我們所說的app.js,app.json等文件,下面我們就來看看它們具體是什么。
以logs頁面為例:

1 .logs.js

我們看一下這個文件中簡單的代碼:

//logs.js
var util = require('../../utils/util.js')
Page({
 data: {
 logs: []
 },
 onLoad: function () {
 this.setData({
 logs: (wx.getStorageSync('logs') || []).map(function (log) {
 return util.formatTime(new Date(log))
 })
 })
 }
})

如果你有過開發(fā)經(jīng)驗或者是js開發(fā)經(jīng)驗,那么一樣就可以看出,這個類的結(jié)構(gòu)很簡單:1.引入了一個外部文件,2.有一個函數(shù),進(jìn)行了某種處理。

我們看一下官方文檔是怎么介紹這個以js結(jié)尾的文件的:包含一個Page()函數(shù),Page()函數(shù)用來注冊一個頁面。接受一個object參數(shù),其指定頁面的初始數(shù)據(jù)、生命周期函數(shù)、事件處理函數(shù)等。它是頁面的邏輯文件,頁面邏輯在這里處理。

在這個文件中,我們可以定義變量,函數(shù)等。

2 .logs.json

app.json是小程序的全部配置文件,那么不難理解,logs.json則是logs頁面的配置文件,在這里我們可以配置頁面標(biāo)題等屬性。

3 .logs.wxml

wxml文件是頁面獨有的,它相當(dāng)于界面,它是與用戶交互的入口,微信提供了很多基礎(chǔ)組件,例如按鈕,文本以及進(jìn)度條等,都可以在這個文件中配置并顯示出具體的效果。

4 .logs.wxss

wxss跟app.wxss文件一樣,都是樣式表文件,不過每個頁面下的這個文件時對于某個頁面的,而app.wxss則是全局的樣式配置,相同屬性的話,logs.wxss會覆蓋掉app.wxss中的。

對于頁面下的文件配置,我們來看一下官方的說明:


總結(jié)

以上就是微信小程序的整體項目文件結(jié)構(gòu),由宏觀到具體,弄清整體框架后,再一步一步學(xué)習(xí)其中的細(xì)節(jié),可能會更加輕松。想學(xué)習(xí)更多關(guān)于微信小程序的文章請繼續(xù)關(guān)注腳本之家。

相關(guān)文章

  • CentOS下安裝Jenkins的完整步驟

    CentOS下安裝Jenkins的完整步驟

    Jenkins是一款由Java編寫的開源的持續(xù)集成工具,下面這篇文章主要介紹了CentOS下安裝Jenkins的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • vscode單擊新文件時覆蓋舊文件的解決方法

    vscode單擊新文件時覆蓋舊文件的解決方法

    本文是給大家分享的作者在使用vscoe過程中遇到的一個小問題的解決方法,就是取消vscode單擊新文件時覆蓋舊文件,希望對大家能夠有所幫助
    2020-02-02
  • jenkins配置163郵箱的操作方法

    jenkins配置163郵箱的操作方法

    Jenkins用Java語言編寫,可在Tomcat等流行的servlet容器中運行,也可獨立運行,這篇文章主要介紹了jenkins配置163郵箱的步驟,需要的朋友可以參考下
    2022-01-01
  • POST與GET方法的區(qū)別簡要分析

    POST與GET方法的區(qū)別簡要分析

    原理介紹:理論上說,GET是從服務(wù)器上請求數(shù)據(jù),POST是發(fā)送數(shù)據(jù)到服務(wù)器。事實上,GET方法是把數(shù)據(jù)參數(shù)隊列(query string)加到一個URL上,值和表單是一一對應(yīng)的。
    2008-10-10
  • IDEA配置以及插件和快捷鍵超全總結(jié)

    IDEA配置以及插件和快捷鍵超全總結(jié)

    這篇文章主要給大家介紹了關(guān)于IDEA配置以及插件和快捷鍵的相關(guān)資料,學(xué)習(xí)軟件工程的同學(xué)基本上都要用到idea,并且它也是目前比較主流的開發(fā)工具,需要的朋友可以參考下
    2023-07-07
  • 關(guān)于圖片存儲格式的整理(JPEG格式介紹)

    關(guān)于圖片存儲格式的整理(JPEG格式介紹)

    這篇文章主要介紹了關(guān)于圖片存儲格式的整理(JPEG),需要的朋友可以參考下
    2016-01-01
  • HTTP協(xié)議簡介_動力節(jié)點Java學(xué)院整理

    HTTP協(xié)議簡介_動力節(jié)點Java學(xué)院整理

    這篇文章主要介紹了HTTP協(xié)議簡介,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • 解決idea從git拉取代碼需要輸入token的問題

    解決idea從git拉取代碼需要輸入token的問題

    這篇文章主要介紹了解決idea從git拉取代碼需要輸入token的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Git中使用.gitignore忽略文件的推送方式

    Git中使用.gitignore忽略文件的推送方式

    這篇文章主要介紹了Git中使用.gitignore忽略文件的推送方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • windows下gitbash安裝教程(小白教程)

    windows下gitbash安裝教程(小白教程)

    這篇文章主要介紹了windows下gitbash安裝教程(小白教程),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07

最新評論

平定县| 福泉市| 岳池县| 罗定市| 河北省| 陆良县| 闽清县| 浦城县| 托里县| 夏津县| 彰化县| 普兰店市| 岫岩| 安丘市| 格尔木市| 涞水县| 乾安县| 黄平县| 永年县| 霞浦县| 扎鲁特旗| 泉州市| 尤溪县| 柳河县| 太仆寺旗| 登封市| 钦州市| 周口市| 邓州市| 新建县| 定襄县| 兴业县| 巴里| 广宗县| 菏泽市| 贵州省| 罗田县| 赫章县| 壶关县| 积石山| 南平市|