亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

微信小程序開發

2024-04-27 15:17:00
字體:
來源:轉載
供稿:網友

 微信小程序開發步驟:

1.注冊:https://mp.weixin.QQ.com/  在微信公眾平臺注冊一個賬號。

2.不清楚的可以查看官方示例完成注冊。

3.下載微信開發者工具 官方下載地址如下:

https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html

下載好后選擇安裝,默認設置即可。

4.開發文檔

 微信公眾平臺開發者文檔統一入口為:https://mp.weixin.qq.com/wiki,這里面大部分內容都是以前就有的,微信開發都是基于此份文檔。

5.開發介紹%20 *5.1%20創建項目發者工具安裝完成后我們就可以將其打開,初次打開會彈出創建項目的窗口,如下圖:

5.2 文件介紹 *

js ---------- javaScrip文件  json -------- 項目配置文件,負責窗口顏色等等wxml ------- 類似HTML文件wxss ------- 類似CSS文件

在根目錄下用app來命名的這四中類型的文件,就是程序入口文件。

app.json

必須要有這個文件,如果沒有這個文件,IDE會報錯,因為微信框架把這個作為配置文件入口,你只需創建這個文件,里面寫個大括號就行以后我們會在這里對整個小程序的全局配置。記錄了頁面組成,配置小程序的窗口 背景色,配置導航條樣式,配置默認標題。

app.js

必須要有這個文件,沒有也是會報錯!但是這個文件創建一下就行 什么都不需要寫以后我們可以在這個文件中監聽并處理小程序的生命周期函數、聲明全局變量。

app.wxss

這個文件不是必須的。因為它只是個全局CSS樣式文件

app.wxml

這個也不是必須的,而且這個并不是指主界面哦~因為小程序的主頁面是靠在JSON文件中配置來決定的

有了這兩個文件你運行程序,IDE就不會報錯了,也意味著這是最簡單的微信小程序

5.3 框架介紹

app.json配置

以下是一個包含了所有配置選項的簡單配置app.json :

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

app.json 配置項列表

屬性類型必填描述
pagesString Array設置頁面路徑
windowObject設置默認頁面的窗口表現
tabBarObject設置底部 tab 的表現
networkTimeoutObject設置網絡超時時間
debugBoolean
新建頁面在pages 中新增一個  "pages/news/news"即可出現一個新的news文件夾
 "pages": [    "pages/index/index",    "pages/logs/index"  ]

5.4數據綁定

WXML 中的動態數據均來自對應 Page 的 data。

簡單綁定

數據綁定使用 Mustache 語法(雙大括號)將變量包起來,可以作用于:

內容

<view> {{ message }} </view>
Page({  data: {    message: 'Hello MINA!'  }})

組件屬性(需要在雙引號之內)

<view id="item-{{id}}"> </view>
Page({  data: {    id: 0  }})

控制屬性(需要在雙引號之內)

<view wx:if="{{condition}}"> </view>
Page({  data: {    condition: true  }})

關鍵字(需要在雙引號之內)

true:boolean 類型的 true,代表真值。

false: boolean 類型的 false,代表假值。

<checkbox checked="{{false}}"> </checkbox>

特別注意:不要直接寫 checked="false",其計算結果是一個字符串,轉成 boolean 類型后代表真值。

運算

可以在 {{}} 內進行簡單的運算,支持的有如下幾種方式:

三元運算

<view hidden="{{flag ? true : false}}"> Hidden </view>

算數運算

<view> {{a + b}} + {{c}} + d </view>
Page({  data: {    a: 1,    b: 2,    c: 3  }})

view中的內容為 3 + 3 + d。

邏輯判斷

<view wx:if="{{length > 5}}"> </view>

字符串運算

<view>{{"hello" + name}}</view>
Page({  data:{    name: 'MINA'  }})

數據路徑運算

<view>{{object.key}} {{array[0]}}</view>
Page({  data: {    object: {      key: 'Hello '    },    array: ['MINA']  }})

組合

也可以在 Mustache 內直接進行組合,構成新的對象或者數組。

數組

<view wx:for="{{[zero, 1, 2, 3, 4]}}"> {{item}} </view>
Page({  data: {    zero: 0  }})

最終組合成數組[0, 1, 2, 3, 4]。

對象

<template is="objectCombine" data="{{for: a, bar: b}}"></template>
Page({  data: {    a: 1,    b: 2  }})

最終組合成的對象是 {for: 1, bar: 2}

也可以用擴展運算符 ... 來將一個對象展開

<template is="objectCombine" data="{{...obj1, ...obj2, e: 5}}"></template>
Page({  data: {    obj1: {      a: 1,      b: 2    },    obj2: {      c: 3,      d: 4    }  }})

最終組合成的對象是 {a: 1, b: 2, c: 3, d: 4, e: 5}

如果對象的 key 和 value 相同,也可以間接地表達。

<template is="objectCombine" data="{{foo, bar}}"></template>
Page({  data: {    foo: 'my-foo',    bar: 'my-bar'  }})

最終組合成的對象是 {foo: 'my-foo', bar:'my-bar'}。

注意:上述方式可以隨意組合,但是如有存在變量名相同的情況,后邊的會覆蓋前面,如:

<template is="objectCombine" data="{{...obj1, ...obj2, a, c: 6}}"></template>
Page({  data: {    obj1: {      a: 1,      b: 2    },    obj2: {      b: 3,      c: 4    },    a: 5  }})

最終組合成的對象是 {a: 5, b: 3, c: 6}。

5.5條件渲染

wx:if

在框架中,我們用 wx:if="{{condition}}" 來判斷是否需要渲染該代碼塊:

<view wx:if="{{condition}}"> True </view>

也可以用 wx:elif 和 wx:else 來添加一個 else 塊:

<view wx:if="{{length > 5}}"> 1 </view><view wx:elif="{{length > 2}}"> 2 </view><view wx:else> 3 </view>

5.6列表渲染

wx:for

在組件上使用wx:for控制屬性綁定一個數組,即可使用數組中各項的數據重復渲染該組件。

默認數組的當前項的下標變量名默認為index,數組當前項的變量名默認為item

<view wx:for="{{array}}">  {{index}}: {{item.message}}</view>
Page({  data: {    array: [{      message: 'foo',    }, {      message: 'bar'    }]  }})

使用 wx:for-item 可以指定數組當前元素的變量名,

使用 wx:for-index 可以指定數組當前下標的變量名:

<view wx:for="{{array}}" wx:for-index="idx" wx:for-item="itemName">  {{idx}}: {{itemName.message}}</view>

5.7模板

WXML提供模板(template),可以在模板中定義代碼片段,然后在不同的地方調用。

定義模板

使用name屬性,作為模板的名字。然后在<template/>內定義代碼片段,如:

<!--  index: int  msg: string  time: string--><template name="msgItem">  <view>    <text> {{index}}: {{msg}} </text>    <text> Time: {{time}} </text>  </view></template>

使用模板

使用 is 屬性,聲明需要的使用的模板,然后將模板所需要的 data 傳入,如:

<template is="msgItem" data="{{...item}}"/>
Page({  data: {    item: {      index: 0,      msg: 'this is a template',      time: '2016-09-15'    }  }})

is 屬性可以使用 Mustache 語法,來動態決定具體需要渲染哪個模板:

<template name="odd">  <view> odd </view></template><template name="even">  <view> even </view></template><block wx:for="{{[1, 2, 3, 4, 5]}}">    <template is="{{item % 2 == 0 ? 'even' : 'odd'}}"/></block>

5.8事件

在組件中綁定一個事件處理函數。

bindtap,當用戶點擊該組件的時候會在該頁面對應的Page中找到相應的事件處理函數。

<view id="tapTest" data-hi="WeChat" bindtap="tapName"> Click me! </view>在相應的Page定義中寫上相應的事件處理函數,參數是event。
Page({  tapName: function(event) {    console.log(event)  }})

5.9引用

WXML 提供兩種文件引用方式importinclude。

import

import可以在該文件中使用目標文件定義的template,如:

在 item.wxml 中定義了一個叫itemtemplate

<!-- item.wxml --><template name="item">  <text>{{text}}</text></template>

在 index.wxml 中引用了 item.wxml,就可以使用item模板:

<import src="item.wxml"/><template is="item" data="{{text: 'forbar'}}"/>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久精品一区二区| 97av视频在线| 亚洲老头同性xxxxx| 久久久久一本一区二区青青蜜月| 欧美日韩性视频| 亚洲第一中文字幕在线观看| 91成人天堂久久成人| 国产精品免费看久久久香蕉| 成人免费高清完整版在线观看| 亚洲三级免费看| 久久亚洲精品毛片| 久久久久久久香蕉网| 久久久久国产精品免费| 亚洲人成免费电影| 插插插亚洲综合网| 久久精品色欧美aⅴ一区二区| 91精品国产亚洲| 亚洲偷熟乱区亚洲香蕉av| 久久久91精品国产一区不卡| 久久99久久亚洲国产| 欧美www视频在线观看| 国产精品成人一区| 九色精品免费永久在线| 97视频在线观看免费高清完整版在线观看| 久久久999国产| 92国产精品久久久久首页| 青草青草久热精品视频在线观看| 5252色成人免费视频| 97av在线视频| 久热精品视频在线免费观看| 国产亚洲欧美日韩一区二区| 国产精品久久久久久久久粉嫩av| 日韩av中文在线| 亚洲xxxxx电影| 国产精品网站视频| 久久精品亚洲94久久精品| 美女精品久久久| 久久久噜噜噜久久中文字免| 久久精品国产亚洲一区二区| 久久久久久久久网站| 欧美日韩精品国产| 成人免费大片黄在线播放| 日韩视频第一页| 日韩欧美a级成人黄色| 亚洲片在线观看| 亚洲精品97久久| 九九热在线精品视频| 成人国产在线视频| 亚洲美女又黄又爽在线观看| 91在线网站视频| 成人黄色av网| 欧洲午夜精品久久久| 亚洲午夜激情免费视频| 久久久精品欧美| 日韩精品小视频| 中文字幕亚洲无线码在线一区| 亚洲男人天堂九九视频| 欧美激情按摩在线| 亚洲免费一在线| 国产精品久久久久久久久久三级| 精品欧美aⅴ在线网站| 色综合导航网站| 亚洲午夜国产成人av电影男同| 欧美伊久线香蕉线新在线| 国产精品色婷婷视频| 日韩中文字幕视频在线观看| 欧美激情第99页| 亚洲国产高清福利视频| 久久激情视频免费观看| 日韩av在线免费播放| 精品香蕉一区二区三区| 欧美一级大片在线观看| 亚洲午夜国产成人av电影男同| 亚洲图片在线综合| 成人黄色免费网站在线观看| 国产深夜精品福利| 日韩精品亚洲元码| 欧美高清电影在线看| 欧美黑人国产人伦爽爽爽| 欧美噜噜久久久xxx| 91精品国产91久久久久福利| 久久99视频免费| 亚洲图片欧美午夜| 4438全国亚洲精品在线观看视频| 欧美日韩在线观看视频| 中文字幕亚洲综合| 日韩精品视频免费在线观看| 亚洲www在线观看| 欧美精品成人91久久久久久久| 亚洲精品福利在线| 亚洲男人av在线| 亚洲一区免费网站| 国产欧美精品一区二区三区-老狼| 久久躁狠狠躁夜夜爽| 亚洲老板91色精品久久| 日韩成人黄色av| 国产精品国产福利国产秒拍| 精品色蜜蜜精品视频在线观看| 国产啪精品视频| 国产精品久久久久久久9999| 国产日韩视频在线观看| 欧美激情精品久久久久久变态| 日韩成人激情在线| 欧美电影免费看| 国产精品视频999| 亚洲国产成人一区| 亚洲国产成人爱av在线播放| 日韩av免费网站| 91在线免费网站| 国产最新精品视频| 中文欧美日本在线资源| 日本亚洲欧美成人| 亚洲xxx大片| 日韩欧美在线视频日韩欧美在线视频| 亚洲国产97在线精品一区| 国产一区二区动漫| 欧美久久精品午夜青青大伊人| 国产欧美精品在线播放| 精品中文字幕久久久久久| 伊人伊成久久人综合网小说| 亚洲人成绝费网站色www| 欧美日韩国产成人在线观看| 欧美又大粗又爽又黄大片视频| 欧美性猛交xxxx富婆弯腰| 欧美最近摘花xxxx摘花| 精品二区三区线观看| 国产一区二区久久精品| 欧美大片免费观看在线观看网站推荐| 俺也去精品视频在线观看| 久久精品国产96久久久香蕉| 欧美高清在线视频观看不卡| 97人人做人人爱| 日韩av中文字幕在线免费观看| 欧美精品videossex88| 97精品视频在线| 欧美在线精品免播放器视频| 亚洲女同性videos| 欧美在线不卡区| 久久成人精品一区二区三区| 久久亚洲精品中文字幕冲田杏梨| 中文字幕国内精品| 欧美大成色www永久网站婷| 欧美日韩国产一区二区三区| 亚洲综合色av| 亚洲精品99久久久久中文字幕| 自拍偷拍亚洲在线| 久久精品国产96久久久香蕉| 成人午夜小视频| 欧美精品电影在线| www.国产精品一二区| 黄色一区二区在线| 亚洲国产精品久久| 97国产精品视频人人做人人爱| 日韩av不卡在线| 亚洲2020天天堂在线观看| 孩xxxx性bbbb欧美| 精品自在线视频| 国产综合香蕉五月婷在线| 精品少妇一区二区30p| 欧美视频在线观看免费| 亚洲国产精品小视频| 国产精品一区二区久久久久| 久久久久久久网站| 亚洲欧美变态国产另类|