微信小程序踩坑

mac2024-01-30  44

用console.log()获取data:{}中的数据

问题描述

在Page{data:}中的公式,无法console.log()出数据,代码如下:

//js changeTimeBox: function(){ if (this.data.xianshi1 === "flex"){ this.setData({ xianshi1: "none", xianshi2: "flex" }) } else{ this.setData({ xianshi1: "flex", xianshi2: "none" }) } }, console.log(xianshi1);
解决方法
console.log(this.data.xianshi1);

完美解决

数组的还可以嵌套数组

数组中,里面还可以嵌套数组,例如:

//js Page({ data:{ Wednesday: [ { courseline: { A: 0, B: 2 }, course_name: {A:'英语',B:'数学'}, local: '二教G406', teacher: '晏凯', }, { courseline: 2, course_name: '通用学术英语', local: '二教G406', teacher: '晏凯', }, { courseline: 2, course_name: '通用学术英语', local: '二教G406', teacher: '晏凯', }, { courseline: 2, course_name: '通用学术英语', local: '二教G406', teacher: '晏凯', }, { courseline: 2, course_name: '通用学术英语', local: '二教G406', teacher: '晏凯', }, } })

想要调用时Wednesday.course_name.A的内容时:

console.log(this.data.Wednesday[0].course_name.A);

wx:for的用法

wx:for在小程序的wxml中,可以实现列表样式的循环,比如商品表,清单等,不用重复的输入相似的代码,只需要写一个代码样式,加上wx:for循环。

数组传递的坑 courses[weelNum]读不出来??

问题描述
<!--wxml--> <text class="courseline" style="height:{{courses[0].course1_2.courseline}}px;"></text>

上图可以正常显示

<!--wxml--> <text class="courseline" style="height:{{courses[weekNum].course1_2.courseline}}px;"></text>

上图,更换成了一个变量weekNum,显示为空。变量赋值正常。 现在考虑,{{xxx}}中的内容可能为str,无法读取变量,我把变量更换成在js中未定义的变量,也没有报错,显示同样为空。

解决方法

在js中建立新的变量,来代替数组,然后在wxml中调用该变量

//js onLoad: function () { //因为wxml中{{xxx}}内部不可再写变量,所以,{{courses[weekNum]}}赋值在js中完成。 var coursesWeekNum = this.data.courses[weekNum]; this.setData({ coursesWeekNum: coursesWeekNum, }) } <text class="courseline" style="height:{{coursesWeekNum.course1_2.courseline}}px;"></text>

完美解决

最新回复(0)