亚洲欧洲日产国码无码久久99_国内精品伊人久久久久妇_久久男人av资源网站无码软件_久久国产乱子伦精品免费强

WXS|WXS腳本語言

日期:2017-08-31 作者:管理員 來源:互聯(lián)網(wǎng)

WXS

WXS(WeiXin Script)是小程序的一套腳本語言,結(jié)合 WXML,可以構(gòu)建出頁面的結(jié)構(gòu)。

以下是一些使用 WXS 的簡單示例:


WXS,WXS語言,WXS腳本語言,微信小程序

WXS、WXS語言、WXS腳本語言、微信小程序

頁面渲染

<!--wxml--> <wxs module="m1"> var msg = "hello world";

module.exports.message = msg; </wxs> <view> {{m1.message}} </view>

頁面輸出:

hello world

數(shù)據(jù)處理

// page.js Page({
  data: {
    array: [1, 2, 3, 4, 5, 1, 2, 3, 4]
  }
})
<!--wxml--> <!-- 下面的 getMax 函數(shù),接受一個(gè)數(shù)組,且返回?cái)?shù)組中最大的元素的值 --> <wxs module="m1"> var getMax = function(array) {
  var max = undefined;
  for (var i = 0; i < array.length; ++i) { max = max === undefined ? array[i] : (max >= array[i] ? max : array[i]);
  }
  return max;
}

module.exports.getMax = getMax; </wxs> <!-- 調(diào)用 wxs 里面的 getMax 函數(shù),參數(shù)為 page.js 里面的 array --> <view> {{m1.getMax(array)}} </view>

頁面輸出:

5



框架

小程序開發(fā)框架的目標(biāo)是通過盡可能簡單、高效的方式讓開發(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ù)與視圖非常簡單地保持同步。當(dāng)做數(shù)據(jù)修改的時(shí)候,只需要在邏輯層修改數(shù)據(jù),視圖層就會做相應(yīng)的更新。

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

<!-- This 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í)候會顯示 Hello WeChat!

  • 當(dāng)點(diǎn)擊按鈕的時(shí)候,視圖層會發(fā)送 changeName 的事件給邏輯層,邏輯層找到對應(yīng)的事件處理函數(shù)

  • 邏輯層執(zhí)行了 setData 的操作,將 name 從 WeChat 變?yōu)?nbsp;MINA,因?yàn)樵摂?shù)據(jù)和視圖層已經(jīng)綁定了,從而視圖層會自動改變?yōu)?nbsp;Hello MINA! 。

頁面管理

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

基礎(chǔ)組件

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

豐富的 API

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


基礎(chǔ)組件

框架為開發(fā)者提供了一系列基礎(chǔ)組件,開發(fā)者可以通過組合這些基礎(chǔ)組件進(jìn)行快速開發(fā)。

什么是組件:

  • 組件是視圖層的基本組成單元。

  • 組件自帶一些功能與微信風(fēng)格的樣式。

  • 一個(gè)組件通常包括開始標(biāo)簽和結(jié)束標(biāo)簽,屬性用來修飾這個(gè)組件,內(nèi)容在兩個(gè)標(biāo)簽之內(nèi)。

    <tagname property="value"> Content goes here ... </tagname>

    注意:所有組件與屬性都是小寫,以連字符-連接

屬性類型

類型 描述 注解
Boolean 布爾值 組件寫上該屬性,不管該屬性等于什么,其值都為true,只有組件上沒有寫該屬性時(shí),屬性值才為false。如果屬性值為變量,變量的值會被轉(zhuǎn)換為Boolean類型
Number 數(shù)字 1, 2.5
String 字符串 "string"
Array 數(shù)組 [ 1, "string" ]
Object 對象 { key: value }
EventHandler 事件處理函數(shù)名 "handlerName" 是 Page中定義的事件處理函數(shù)名
Any 任意屬性

共同屬性類型

所有組件都有的屬性:

屬性名 類型 描述 注解
id String 組件的唯一標(biāo)示 保持整個(gè)頁面唯一
class String 組件的樣式類 在對應(yīng)的 WXSS 中定義的樣式類
style String 組件的內(nèi)聯(lián)樣式 可以動態(tài)設(shè)置的內(nèi)聯(lián)樣式
hidden Boolean 組件是否顯示 所有組件默認(rèn)顯示
data-* Any 自定義屬性 組件上觸發(fā)的事件時(shí),會發(fā)送給事件處理函數(shù)
bind* / catch* EventHandler 組件的事件 詳見事件

特殊屬性

幾乎所有組件都有各自定義的屬性,可以對該組件的功能或樣式進(jìn)行修飾,請參考各個(gè)組件的定義。

組件列表

基礎(chǔ)組件分為以下七大類:

視圖容器(View Container):

組件名 說明
view 視圖容器
scroll-view 可滾動視圖容器
swiper 滑塊視圖容器

基礎(chǔ)內(nèi)容(Basic Content):

組件名 說明
icon 圖標(biāo)
text 文字
progress 進(jìn)度條

表單(Form):

標(biāo)簽名 說明
button 按鈕
form 表單
input 輸入框
checkbox 多項(xiàng)選擇器
radio 單項(xiàng)選擇器
picker 列表選擇器
picker-view 內(nèi)嵌列表選擇器
slider 滾動選擇器
switch 開關(guān)選擇器
label 標(biāo)簽

導(dǎo)航(Navigation):

組件名 說明
navigator 應(yīng)用鏈接

多媒體(Media):

組件名 說明
audio 音頻
image 圖片
video 視頻

地圖(Map):

組件名 說明
map 地圖

畫布(Canvas):

組件名 說明
canvas 畫布

客服會話:

組件名 說明
contact-button 進(jìn)入客服會話按鈕



API

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

說明:

  • wx.on 開頭的 API 是監(jiān)聽某個(gè)事件發(fā)生的API接口,接受一個(gè) CALLBACK 函數(shù)作為參數(shù)。當(dāng)該事件觸發(fā)時(shí),會調(diào)用 CALLBACK 函數(shù)。

  • 如未特殊約定,其他 API 接口都接受一個(gè)OBJECT作為參數(shù)。

  • OBJECT中可以指定success, fail, complete來接收接口調(diào)用結(jié)果。

參數(shù)名 類型 必填 說明
success Function 接口調(diào)用成功的回調(diào)函數(shù)
fail Function 接口調(diào)用失敗的回調(diào)函數(shù)
complete Function 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會執(zhí)行)

API列表:

網(wǎng)絡(luò) API 列表:

API 說明
wx.request 發(fā)起網(wǎng)絡(luò)請求
wx.uploadFile 上傳文件
wx.downloadFile 下載文件
wx.connectSocket 創(chuàng)建 WebSocket 連接
wx.onSocketOpen 監(jiān)聽 WebSocket 打開
wx.onSocketError 監(jiān)聽 WebSocket 錯(cuò)誤
wx.sendSocketMessage 發(fā)送 WebSocket 消息
wx.onSocketMessage 接受 WebSocket 消息
wx.closeSocket 關(guān)閉 WebSocket 連接
wx.onSocketClose 監(jiān)聽 WebSocket 關(guān)閉

媒體 API 列表:

API 說明
wx.chooseImage 從相冊選擇圖片,或者拍照
wx.previewImage 預(yù)覽圖片
wx.startRecord 開始錄音
wx.stopRecord 結(jié)束錄音
wx.playVoice 播放語音
wx.pauseVoice 暫停播放語音
wx.stopVoice 結(jié)束播放語音
wx.getBackgroundAudioPlayerState 獲取音樂播放狀態(tài)
wx.playBackgroundAudio 播放音樂
wx.pauseBackgroundAudio 暫停播放音樂
wx.seekBackgroundAudio 控制音樂播放進(jìn)度
wx.stopBackgroundAudio 停止播放音樂
wx.onBackgroundAudioPlay 監(jiān)聽音樂開始播放
wx.onBackgroundAudioPause 監(jiān)聽音樂暫停
wx.onBackgroundAudioStop 監(jiān)聽音樂結(jié)束
wx.chooseVideo 從相冊選擇視頻,或者拍攝

文件 API 列表:

API 說明
wx.saveFile 保存文件
wx.getSavedFileList 獲取已保存的文件列表
wx.getSavedFileInfo 獲取已保存的文件信息
wx.removeSavedFile 刪除已保存的文件信息
wx.openDocument 打開文件

數(shù)據(jù) API 列表:

API 說明
wx.getStorage 獲取本地?cái)?shù)據(jù)緩存
wx.getStorageSync 獲取本地?cái)?shù)據(jù)緩存
wx.setStorage 設(shè)置本地?cái)?shù)據(jù)緩存
wx.setStorageSync 設(shè)置本地?cái)?shù)據(jù)緩存
wx.getStorageInfo 獲取本地緩存的相關(guān)信息
wx.getStorageInfoSync 獲取本地緩存的相關(guān)信息
wx.removeStorage 刪除本地緩存內(nèi)容
wx.removeStorageSync 刪除本地緩存內(nèi)容
wx.clearStorage 清理本地?cái)?shù)據(jù)緩存
wx.clearStorageSync 清理本地?cái)?shù)據(jù)緩存

位置 API 列表:

API 說明
wx.getLocation 獲取當(dāng)前位置
wx.chooseLocation 打開地圖選擇位置
wx.openLocation 打開內(nèi)置地圖
wx.createMapContext 地圖組件控制

設(shè)備 API 列表:

API 說明
wx.getNetworkType 獲取網(wǎng)絡(luò)類型
wx.onNetworkStatusChange 監(jiān)聽網(wǎng)絡(luò)狀態(tài)變化
wx.getSystemInfo 獲取系統(tǒng)信息
wx.getSystemInfoSync 獲取系統(tǒng)信息
wx.onAccelerometerChange 監(jiān)聽加速度數(shù)據(jù)
wx.startAccelerometer 開始監(jiān)聽加速度數(shù)據(jù)
wx.stopAccelerometer 停止監(jiān)聽加速度數(shù)據(jù)
wx.onCompassChange 監(jiān)聽羅盤數(shù)據(jù)
wx.startCompass 開始監(jiān)聽羅盤數(shù)據(jù)
wx.stopCompass 停止監(jiān)聽羅盤數(shù)據(jù)
wx.setClipboardData 設(shè)置剪貼板內(nèi)容
wx.getClipboardData 獲取剪貼板內(nèi)容
wx.makePhoneCall 撥打電話
wx.scanCode 掃碼

界面 API 列表:

API 說明
wx.showToast 顯示提示框
wx.showLoading 顯示加載提示框
wx.hideToast 隱藏提示框
wx.hideLoading 隱藏提示框
wx.showModal 顯示模態(tài)彈窗
wx.showActionSheet 顯示菜單列表
wx.setNavigationBarTitle 設(shè)置當(dāng)前頁面標(biāo)題
wx.showNavigationBarLoading 顯示導(dǎo)航條加載動畫
wx.hideNavigationBarLoading 隱藏導(dǎo)航條加載動畫
wx.navigateTo 新窗口打開頁面
wx.redirectTo 原窗口打開頁面
wx.switchTab 切換到 tabbar 頁面
wx.navigateBack 退回上一個(gè)頁面
wx.createAnimation 動畫
wx.createContext 創(chuàng)建繪圖上下文
wx.drawCanvas 繪圖
wx.stopPullDownRefresh 停止下拉刷新動畫

WXML節(jié)點(diǎn)信息 API 列表:

API 說明
wx.createSelectorQuery 創(chuàng)建查詢請求
selectorQuery.select 根據(jù)選擇器選擇單個(gè)節(jié)點(diǎn)
selectorQuery.selectAll 根據(jù)選擇器選擇全部節(jié)點(diǎn)
selectorQuery.selectViewport 選擇顯示區(qū)域
nodesRef.boundingClientRect 獲取布局位置和尺寸
nodesRef.scrollOffset 獲取滾動位置
nodesRef.fields 獲取任意字段
selectorQuery.exec 執(zhí)行查詢請求

開放接口:

API 說明
wx.login 登錄
wx.getUserInfo 獲取用戶信息
wx.chooseAddress 獲取用戶收貨地址
wx.requestPayment 發(fā)起微信支付
wx.addCard 添加卡券
wx.openCard 打開卡券



不能直接操作 Page.data

避免在直接對 Page.data 進(jìn)行賦值修改,請使用 Page.setData 進(jìn)行操作才能將數(shù)據(jù)同步到頁面中進(jìn)行渲染

怎么獲取用戶輸入

能夠獲取用戶輸入的組件,需要使用組件的屬性bindblur將用戶的輸入內(nèi)容同步到 AppService。

<input id="myInput" bindblur="bindBlur" />
var inputContent = {}

Page({
  data: {
    inputContent: {}
  },
  bindBlur: function(e) {
    inputContent[e.currentTarget.id] = e.detail.value
  }
})

為什么腳本內(nèi)不能使用window等對象

頁面的腳本邏輯是在JsCore中運(yùn)行,JsCore是一個(gè)沒有窗口對象的環(huán)境,所以不能在腳本中使用window,也無法在腳本中操作組件

為什么 zepto/jquery 無法使用

zepto/jquery 會使用到window對象和document對象,所以無法使用。

wx.navigateTo無法打開頁面

一個(gè)應(yīng)用同時(shí)只能打開5個(gè)頁面,當(dāng)已經(jīng)打開了5個(gè)頁面之后,wx.navigateTo不能正常打開新頁面。請避免多層級的交互方式,或者使用wx.redirectTo

樣式表不支持級聯(lián)選擇器

WXSS支持以.開始的類選擇器。如:

.normal_view { color: #000000; padding: 10px;
}

可以使用標(biāo)簽選擇器,控制同一類組件的樣式。如:使用input標(biāo)簽選擇器控制<input/>的默認(rèn)樣式。

input { width: 100px;
}

本地資源無法通過 WXSS 獲取

background-image:可以使用網(wǎng)絡(luò)圖片,或者 base64,或者使用<image/>標(biāo)簽

如何修改窗口的背景色

使用 page 標(biāo)簽選擇器,可以修改頂層節(jié)點(diǎn)的樣式

page { display: block; min-height: 100%; background-color: red;
}

HTTPS 請求不成功

  1. tls 僅支持 1.2 及以上版本

  2. 部分 Android 機(jī)型需要 tls1.0 或者 tls1.1,所以請確保服務(wù)器的 tls 版本為 1.0、1.1、1.2

網(wǎng)絡(luò)請求的 referer

網(wǎng)絡(luò)請求的 referer 是不可以設(shè)置的,格式固定為 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 為小程序的 appid,{version} 為小程序的版本號,版本號為 0 表示為開發(fā)版、體驗(yàn)版以及審核版本,版本號為 devtools 表示為開發(fā)者工具,其余為正式版本。

為什么 map 組件總是在最上層

map、canvas、video、textarea 是由客戶端創(chuàng)建的原生組件,原生組件的層級是最高的,所以頁面中的其他組件無論設(shè)置 z-index 為多少,都無法蓋在原生組件上。 原生組件暫時(shí)還無法放在 scroll-view 上,也無法對原生組件設(shè)置 css 動畫。


二維碼
掃二維碼手機(jī)查看該文章
TAG標(biāo)簽    WXS語言 WXS腳本語言 微信小程序
當(dāng)前網(wǎng)址:http://m.footcarefacts.net/wechat/447.html

相關(guān)資訊

?
Copyright ? 2007-2025 珠海市網(wǎng)訊互聯(lián)信息科技有限公司 m.footcarefacts.net 版權(quán)所有
粵公網(wǎng)安備44040202000391號 粵ICP備19117377號 網(wǎng)站地圖 站點(diǎn)地圖
在線客服
亚洲欧洲日产国码无码久久99_国内精品伊人久久久久妇_久久男人av资源网站无码软件_久久国产乱子伦精品免费强
  • 日韩午夜电影在线观看| 欧美日韩午夜影院| 麻豆精品一区二区综合av| 亚洲人成在线播放网站岛国| 日本不卡视频在线观看| 五月开心婷婷久久| 久久久久综合网| 有码一区二区三区| 美国av一区二区| 93久久精品日日躁夜夜躁欧美| 亚洲已满18点击进入久久| 亚洲国产精品嫩草影院| 国产盗摄精品一区二区三区在线| 亚洲图片一区二区| 久久久久久久久一| 免费人成网站在线观看欧美高清| 日本韩国欧美一区二区三区| 久久久国际精品| 国产人久久人人人人爽| 精品一区二区三区免费观看| 日韩一区欧美小说| 久久久久久久精| 国内精品视频666| 国产精品三级在线观看| 日韩一区二区在线播放| 一本色道综合亚洲| 欧美日本在线看| 日本欧美大码aⅴ在线播放| 99久久99久久免费精品蜜臀| 亚洲色大成网站www久久九九| 懂色一区二区三区免费观看| 国产在线麻豆精品观看| 在线观看一区二区精品视频| 欧美大白屁股肥臀xxxxxx| 欧美tickle裸体挠脚心vk| 东方欧美亚洲色图在线| 亚洲综合视频网| 国产精品一区2区| 欧美电影免费观看高清完整版在线观看| 国产精品美女久久久久久久久久久| 老司机精品视频导航| 国产麻豆成人精品| 国产蜜臀97一区二区三区| 欧美日韩亚洲综合一区| 美女精品一区二区| 色噜噜狠狠一区二区三区果冻| 日韩欧美色综合| 樱桃视频在线观看一区| 91色porny在线视频| 亚洲国产精品久久久久秋霞影院| 91玉足脚交白嫩脚丫在线播放| 精品少妇一区二区三区在线播放| 亚洲成人www| 精品久久国产老人久久综合| 91在线精品一区二区三区| heyzo一本久久综合| 色综合天天综合网国产成人综合天| 欧美疯狂性受xxxxx喷水图片| 日本不卡在线视频| 国产人久久人人人人爽| 日韩欧美在线影院| 麻豆精品一区二区av白丝在线| 中文字幕乱码久久午夜不卡| 精品欧美黑人一区二区三区| 色综合天天综合网天天看片| 色婷婷国产精品| 日本一区二区三区久久久久久久久不| 水蜜桃久久夜色精品一区的特点| 中文字幕免费不卡| 成人国产精品免费观看| 性欧美疯狂xxxxbbbb| 在线观看视频一区二区欧美日韩| 天堂精品中文字幕在线| 国产精品国产三级国产aⅴ中文| 一区二区三区在线观看视频| 亚洲欧洲日产国码二区| 国产精品美女久久久久高潮| 国产精品一二三区| 三级不卡在线观看| 538prom精品视频线放| 成人免费av在线| 视频一区中文字幕| 成人夜色视频网站在线观看| 国产精品美女久久久久av爽李琼| 精品国产区一区| 精品国产免费一区二区三区香蕉| 欧美日韩一区小说| 不卡的av在线播放| 五月婷婷欧美视频| 中文字幕av不卡| 亚洲另类在线视频| 国产精品一区不卡| 一本色道久久综合精品竹菊| 色噜噜偷拍精品综合在线| 欧美伊人久久久久久久久影院| 99热在这里有精品免费| 色欧美片视频在线观看| 欧美一卡2卡3卡4卡| 欧美一区二区不卡视频| 久久综合狠狠综合| 国精产品一区一区三区mba视频| 精品国产一区二区国模嫣然| 91热门视频在线观看| 久久爱www久久做| 色综合天天综合网天天看片| 午夜伊人狠狠久久| 成人黄色小视频在线观看| 亚洲精品视频免费观看| 午夜精品久久久久久久久久久| 午夜一区二区三区视频| 精品国一区二区三区| 亚洲精品你懂的| 国产亚洲一区二区三区| 丁香五精品蜜臀久久久久99网站| 国产精品国模大尺度视频| 亚洲一级二级三级在线免费观看| 亚洲欧美日韩在线不卡| 日韩精品一区二区三区四区| 中文字幕日韩欧美一区二区三区| 免费av成人在线| 国产盗摄视频一区二区三区| 亚洲一区二区视频在线观看| 亚洲国产成人av网| 欧美日韩一区不卡| 久久久久久久一区| 欧美日韩久久不卡| 欧美国产精品久久| 亚洲国产欧美在线人成| 另类综合日韩欧美亚洲| 欧美国产日韩亚洲一区| 一区二区三区不卡在线观看| 粉嫩绯色av一区二区在线观看| 亚洲va国产天堂va久久en| 国产精品国产三级国产有无不卡| 极品尤物av久久免费看| 日韩欧美一级精品久久| 亚洲国产精品久久人人爱蜜臀| 日韩视频免费观看高清在线视频| 奇米影视一区二区三区小说| 青青草国产精品97视觉盛宴| 国产精品久久影院| 国产成人免费网站| 国产高清不卡一区二区| 日韩精品资源二区在线| 不卡在线视频中文字幕| 国产精品的网站| 欧美精品视频www在线观看| 亚洲第一会所有码转帖| 日韩电影在线免费| 日本大胆欧美人术艺术动态| 成人免费的视频| 国产91精品久久久久久久网曝门| 久久这里只精品最新地址| 国产精品亚洲а∨天堂免在线| 精品一区二区免费看| 欧美日韩一区三区| 亚洲成人在线观看视频| 国产午夜精品美女毛片视频| 日韩一区二区三区精品视频| 极品销魂美女一区二区三区| 青青青伊人色综合久久| 日韩小视频在线观看专区| 欧美在线观看视频一区二区三区| 91国内精品野花午夜精品| 欧美日韩精品一区二区三区四区| 日韩欧美一级二级| 日韩一区二区三免费高清| 91在线国内视频| 久久精品一区二区三区不卡| 91激情五月电影| 国产日本欧美一区二区| 7777精品伊人久久久大香线蕉超级流畅| 日韩女优视频免费观看| 亚洲精品在线三区| 午夜精品一区二区三区电影天堂| 日本中文字幕一区二区视频| 日韩欧美高清在线| 国v精品久久久网| 精品国产91乱码一区二区三区| 国产一区二区精品在线观看| 亚洲成人免费观看| 成人免费一区二区三区在线观看| 国产精品资源在线看| 亚洲麻豆国产自偷在线| 亚洲电影在线播放| 久久国产剧场电影| 欧美变态tickling挠脚心| 欧美在线视频全部完| 91看片淫黄大片一级| 亚洲国产精品久久久男人的天堂| 欧美一区二区久久| 亚洲专区一二三| 国产精品综合一区二区三区| 国产精品传媒视频| 99久久99久久免费精品蜜臀| 99久久精品久久久久久清纯| 3d动漫精品啪啪一区二区竹菊| 看片网站欧美日韩| 一区二区三区免费在线观看| 国产日韩欧美高清|