亚洲欧洲日产国码无码久久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://www.footcarefacts.net/wechat/447.html

相關(guān)資訊

?
Copyright ? 2007-2025 珠海市網(wǎng)訊互聯(lián)信息科技有限公司 www.footcarefacts.net 版權(quán)所有
粵公網(wǎng)安備44040202000391號 粵ICP備19117377號 網(wǎng)站地圖 站點(diǎn)地圖
在線客服
亚洲欧洲日产国码无码久久99_国内精品伊人久久久久妇_久久男人av资源网站无码软件_久久国产乱子伦精品免费强
  • 欧美一卡在线观看| 国产一区欧美一区| 在线观看区一区二| 国产精品福利一区二区| xf在线a精品一区二区视频网站| 欧美色图免费看| 久久蜜桃香蕉精品一区二区三区| 中文字幕日韩欧美一区二区三区| 日韩二区三区在线观看| 激情图区综合网| 欧洲日韩一区二区三区| 日韩精品中文字幕一区| 麻豆精品在线播放| 久久综合九色综合久久久精品综合| 欧美日韩国产首页| 91精品国产综合久久久久久漫画| 亚洲蜜臀av乱码久久精品| 欧美日韩中文字幕精品| 色婷婷国产精品久久包臀| 日产国产高清一区二区三区| 国产精品热久久久久夜色精品三区| 亚洲精品一区二区三区精华液| 精品国产免费一区二区三区四区| 欧美一区二区福利视频| 99视频有精品| 日韩欧美国产综合在线一区二区三区| 日本一区二区免费在线观看视频| 欧美一区二区三区成人| 激情小说欧美图片| av中文字幕亚洲| 99久久久精品| 51精品秘密在线观看| 一区二区视频免费在线观看| 午夜电影久久久| 一区二区三区免费观看| 中文字幕一区av| 99这里只有精品| 欧美激情综合五月色丁香小说| 精品一区二区久久久| 国产激情91久久精品导航| 欧美日韩一区三区四区| 国产一区二区三区免费| 国产精品毛片无遮挡高清| 久久久久久久久久久久久久久99| 久久精品99国产国产精| 国产高清在线观看免费不卡| 丁香激情综合国产| 日韩一级高清毛片| 日本麻豆一区二区三区视频| 91精品91久久久中77777| 国产不卡视频一区二区三区| 国产精品成人免费精品自在线观看| 欧美一区二区视频在线观看2022| 亚洲人成电影网站色mp4| 亚洲国产人成综合网站| 久久久亚洲精品一区二区三区| 欧美日韩一区二区三区四区五区| 91麻豆国产香蕉久久精品| 美女免费视频一区二区| 亚洲国产精品天堂| 国产aⅴ精品一区二区三区色成熟| www.亚洲色图| 亚洲国产一区二区视频| 99国产精品久久久久久久久久| 亚洲综合激情小说| 婷婷激情综合网| 麻豆专区一区二区三区四区五区| www.亚洲激情.com| 亚洲1区2区3区视频| 亚洲国产日日夜夜| 亚洲色图视频网站| 精品视频在线免费观看| 午夜欧美一区二区三区在线播放| 蜜臀久久久99精品久久久久久| 亚洲精品国久久99热| 亚洲成a人v欧美综合天堂下载| 亚洲一区二区三区四区在线观看| 色妹子一区二区| 欧美视频日韩视频| 日韩精品一区在线| 亚洲同性同志一二三专区| 2023国产精华国产精品| 精品久久国产老人久久综合| 亚洲va欧美va国产va天堂影院| 国产午夜精品一区二区| 在线看一区二区| 日韩国产精品久久久久久亚洲| 91视频.com| 一区二区三区免费看视频| 国产成人综合在线播放| 中文字幕欧美日韩一区| 豆国产96在线|亚洲| 91黄色激情网站| 亚洲精品乱码久久久久久黑人| 成人免费看黄yyy456| 成人h精品动漫一区二区三区| 蜜臀精品久久久久久蜜臀| 亚洲小说春色综合另类电影| 欧美亚洲综合另类| 美腿丝袜亚洲一区| 国产精品1024| 国内精品伊人久久久久影院对白| 91精品婷婷国产综合久久竹菊| 欧美主播一区二区三区美女| 69av一区二区三区| 亚洲女人****多毛耸耸8| 精品午夜一区二区三区在线观看| 91精品婷婷国产综合久久性色| 久久婷婷综合激情| 91久久精品日日躁夜夜躁欧美| 蜜乳av一区二区三区| 欧美福利电影网| 国产精品国产自产拍高清av王其| 制服丝袜一区二区三区| 日韩免费在线观看| 久久综合色一综合色88| av欧美精品.com| 欧美大度的电影原声| 日日夜夜精品视频免费| 一本到不卡精品视频在线观看| 亚洲国产经典视频| 日韩黄色片在线观看| 国产精品资源在线看| 日韩三级av在线播放| 精品国产电影一区二区| 1024精品合集| 欧美日韩国产bt| 亚洲久草在线视频| 久久天堂av综合合色蜜桃网| 亚洲一区日韩精品中文字幕| 91精品国产高清一区二区三区| 国产亚洲欧美在线| 91.com视频| 精品福利一区二区三区| 91麻豆成人久久精品二区三区| 成人国产精品免费观看视频| 国产人妖乱国产精品人妖| 精彩视频一区二区| 91色综合久久久久婷婷| 亚洲主播在线播放| 中文字幕在线不卡一区| 精品视频1区2区| 午夜激情综合网| 国产日本一区二区| eeuss鲁片一区二区三区在线观看| 亚洲自拍偷拍网站| 免费观看在线综合| 免费人成网站在线观看欧美高清| 色综合中文字幕| 国产精品视频免费看| 国产亚洲女人久久久久毛片| 中文字幕亚洲一区二区va在线| 欧美成人性福生活免费看| 亚洲一区自拍偷拍| 中文字幕av免费专区久久| 国产精品成人免费| 99久久亚洲一区二区三区青草| 欧美日韩成人激情| 国产精品欧美极品| 国产在线日韩欧美| 国产成人精品一区二区三区四区| 中文一区二区在线观看| 欧美综合亚洲图片综合区| 美女视频第一区二区三区免费观看网站| 欧美老女人在线| 夜夜嗨av一区二区三区网页| 国产真实乱对白精彩久久| 亚洲欧美怡红院| 亚洲精品你懂的| 国产偷国产偷精品高清尤物| 久久嫩草精品久久久久| 欧美日韩一区高清| 欧美少妇性性性| 国产乱码一区二区三区| 欧美色手机在线观看| 国产精品日日摸夜夜摸av| 日韩精品一区二区三区视频播放| 精品国产自在久精品国产| 亚洲欧美日韩系列| 一区二区三区欧美| 精品国内二区三区| 日韩欧美国产一区二区三区| 久久国产精品一区二区| 亚洲综合久久av| 亚洲一区在线电影| 首页国产欧美日韩丝袜| 欧美bbbbb| 日韩精品一区二区三区四区| 亚洲午夜电影在线观看| 久久精品亚洲乱码伦伦中文| 国产专区欧美精品| 成人欧美一区二区三区| 国产高清在线观看免费不卡| 99在线视频精品| 97久久精品人人澡人人爽| 精品国产电影一区二区| 久久久久一区二区三区四区| 精品动漫一区二区三区在线观看| 亚洲美女屁股眼交| 国产精品素人一区二区|