我們在h5開發中,很多時候要在html中寫到js代碼,這個很容易實現。但是在微信小程序開發中,是不能直接在wxml中寫js代碼的,因此就有了wxs。在wxml中用wxs代碼,有以下幾種方式(在小程序文檔中寫的很清楚,我只不過是總結下)
- 第一種:直接在wxml文件中使用
<wxs>標簽
<wxs module="dateModule">
var now = getDate();
module.exports = {
date: now
}
</wxs>
<view>當前時間:{{dateModule.date}}</view>
- 第二種:類似於js,寫一外部wxs文件,然后wxml中引用。對於這個,我直接引用官方文檔中的例子
// pages/dateTool.wxs
var now = getDate();
var format = function(lastDate) {
var date = getDate(lastDate);
return date.toLocaleString();
}
module.exports = {
date: now,
format: format
}
<!-- page/index/index.wxml -->
<wxs src="../dateTool.wxs" module="dateTool"></wxs>
<view>{{dateTool.date}}</view>
- 第三種,在一個wxs文件中引用另一個wxs文件
// /pages/tools.wxs
var foo = "'hello world' from tools.wxs";
var bar = function (d) {
return d;
}
module.exports = {
FOO: foo,
bar: bar,
};
module.exports.msg = "some msg";
// /pages/logic.wxs
var tools = require("./tools.wxs");
console.log(tools.FOO);
console.log(tools.bar("logic.wxs"));
console.log(tools.msg);
<!-- /page/index/index.wxml -->
<wxs src="./../logic.wxs" module="logic" />
- wxs語法和js很像,但是一定要注意,在外部寫完wxs文件后要給它的module對象中的exports屬性設置值
module.exports = { Key1:value1, key2: value2, };
