1、模闆字元串
模闆字面量是允許嵌入表達式的字元串字面量。
模闆字元串使用反引号
(``)
來代替普通字元串中的用雙引号和單引号。模闆字元串可以包含特定文法
(${expression})
的占位符。
var a = 5;
var b = 10;
console.log(`Fifteen is ${a + b} and
not ${2 * a + b}.`);
還可以對變量名稱進行動态設定:
let a = 1;
let b = value;
let param = event.detail;
this.setData({
[`timeDate${a}.${b}`]: param
});
2、wxs
WXS(WeiXin Script)是小程式的一套腳本語言,結合 WXML,可以建構出頁面的結構。
詳細參考官方文檔:https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxs/
3、需求
wxml 怎麼擷取動态變量名?
參考小程式社群中兩篇問題讨論。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL3UDN0UDN1kDM0EDNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
(1)wxml 怎麼擷取動态變量名?
(2)怎麼才能在wxml中寫動态變量?
方案一(wxs中使用模闆字元串—失敗):
wxs好像不支援模闆字元串,不可以動态拼接wxml變量。
---建立動态的對象名,然後再擷取的方式實作動态變量。
<wxs>
var joinval = function(a, b){
return [`timeDate${a}.${b}`];
};
module.exports = {
joinval: joinval
};
</wxs>
方案二(建立動态對象名—成功):
動态變量名轉換為動态對象名,可以達到。或者說wxml資料綁定本質就是對象鍵值對的綁定。
比如:
js中:let index = e.currentTarget.dataset.idx; // 動态變量名
let timeData = this.data.timeData;
// 增加或修改一個動态的json對象,使用[index]包裹變量名
timeData[[index]] = e.detail;
this.setData({
timeData
});
wxml中:可以{{timeData[index].options}}使用對象的屬性。