【WeChatアプレット】wxsのアプリケーションは、xwmlでwebと似たようなものを実現します.これはJavaScriptコードを使用しています.
3568 ワード
1、概要
WXS(WeiXin Script)は、アプレットのスクリプト言語のセットです.
公式文書:https://developers.weixin.qq.com/miniprogram/dev/reference/wxs/
2、応用
WXSコードはwxmlファイルで作成できます.
一つずつ
各
属性名
タイプ
標準値
説明
module
String
現在
src
String
参照.wxsファイルの相対パス.このラベルが単閉ラベルまたはラベルの内容が空の場合のみ有効です.
2.1 wxmlファイルで直接wxsコードを作成する
①最も簡素な二数加算関数を例にとって、
Step 1:wxsファイルを新規作成する
date.wxs:情報処理時間の関数として、Date形式の日付を「ただいま」「?分前」「?前」などの時間テキストに変換します.
Step 2:wxmlファイルに導入する
WXS(WeiXin Script)は、アプレットのスクリプト言語のセットです.
WXML
は、ページの構造を構築することができる.WXSとJavaScriptは違う言語で、自分の文法があります.JavaScriptと一致していません.公式文書:https://developers.weixin.qq.com/miniprogram/dev/reference/wxs/
2、応用
WXSコードはwxmlファイルで作成できます.
ラベル内、または .wxs
拡張子の名前のファイル内です.一つずつ
.wxs
ファイルと
ラベルは個々のモジュールです.すなわちモジュール内で定義されている変数と関数は、デフォルトではプライベートです.他のモジュールには見えません.各
wxs
モジュールは内蔵のモジュールがあります. オブジェクトは、export属性により、このモジュールのプライベート変数と関数を外部に共有することができます.属性名
タイプ
標準値
説明
module
String
現在
ラベルのモジュール名.必須フィールドですsrc
String
参照.wxsファイルの相対パス.このラベルが単閉ラベルまたはラベルの内容が空の場合のみ有効です.
2.1 wxmlファイルで直接wxsコードを作成する
①最も簡素な二数加算関数を例にとって、
module.exports
wxsモジュール内の関数の外部露出を実現します.
module.exports = function (a, b) {
return a + b;
};
{{add(1, 2)}}
②複数の関数または変数は、オブジェクトを用いて、2つのカウントの加算と2つのカウントの減算関数を例に挙げます.
var filter = {
add: function (a, b) {
return a + b;
},
subtract: function (a, b) {
return a - b;
},
};
module.exports = filter;
{{func.add(1, 2)}}
{{func.subtract(1, 2)}}
2.2 wxmlファイルから外部wxsファイルを参照するStep 1:wxsファイルを新規作成する
date.wxs:情報処理時間の関数として、Date形式の日付を「ただいま」「?分前」「?前」などの時間テキストに変換します.
var filter = {
formatMsgTime: function (dateStr) {
var targetDate = getDate(dateStr);
var year = targetDate.getFullYear();
var month = targetDate.getMonth() + 1;
var day = targetDate.getDate();
var hour = targetDate.getHours();
var minute = targetDate.getMinutes();
var second = targetDate.getSeconds();
var nowDate = getDate();
var now_new = Date.parse(nowDate.toDateString());
var milliseconds = 0;
var timeSpanStr;
milliseconds = now_new - targetDate;
if (milliseconds <= 1000 * 60 * 1) {
timeSpanStr = ' ';
}
else if (1000 * 60 * 1 < milliseconds && milliseconds <= 1000 * 60 * 60) {
timeSpanStr = Math.round((milliseconds / (1000 * 60))) + ' ';
}
else if (1000 * 60 * 60 * 1 < milliseconds && milliseconds <= 1000 * 60 * 60 * 24) {
timeSpanStr = Math.round(milliseconds / (1000 * 60 * 60)) + ' ';
}
else if (1000 * 60 * 60 * 24 < milliseconds && milliseconds <= 1000 * 60 * 60 * 24 * 15) {
timeSpanStr = Math.round(milliseconds / (1000 * 60 * 60 * 24)) + ' ';
}
else if (milliseconds > 1000 * 60 * 60 * 24 * 15 && year == now.getFullYear()) {
timeSpanStr = month + '-' + day;
} else {
timeSpanStr = year + '-' + month + '-' + day;
}
return timeSpanStr;
}
}
module.exports = {
formatMsgTime: filter.formatMsgTime
}
注:wxsではnewオブジェクトを作れません.ここでnew Date()に達する効果は大域関数getDate().Step 2:wxmlファイルに導入する
Step 3:関数を呼び出す {{filter.formatMsgTime('2018/07/18 17:07:05')}}
3、例:var filter = {
// float value
numberToFix: function (value) {
return value.toFixed(2);
},
// array value
valueInArray: function (array, value) {
return array.indexOf(value);
}
}
module.exports = {
numberToFix: filter.numberToFix,
valueInArray: filter.valueInArray,
}