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 怎么获取动态变量名?
参考小程序社区中两篇问题讨论。
(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}}使用对象的属性。
版权声明:本文为qq_34069882原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。