问题模块 框架类型 问题类型 终端类型 微信版本 基础库版本
框架 微信小程序 Bug 工具 6.7.2 1.9.9
急急急
我在component构造器的properties里编写属性被改变时调用的observer函数,出现了以下严重的错误
VM43:1 [Exparser] [Error] [Component] Error Listener Error @ #(anonymous)
并导致控制台直接失去连接。
错误指向我的observer里的setData;代码如下:
if (nv!=ov){
var imgs = nv, images = [], rs = [[], [], []], r_state = [[], [], []];
for (var x in imgs) {
var p1 = Math.floor(x / 4);
rs[p1][x % 4] = imgs[x]; r_state[p1][x % 4] = 2;
images.push(imgs[x].substring(imgs[x].indexOf('/images/')));
}
var len = imgs.length, p1 = Math.floor(len / 4);
if (len < 9) rs[p1][len % 4] = "/images/addImage.png";
this.setData({ images: images, rowState: r_state,Rows: rs, imageNum: len, UpHeight: (14 * (1 + Math.floor((nv) / 4))) + "%;"})
代码片段
1.9.94
微信小程序开发问题解答
微信小程序开发者回答:
报错截下图呢。。代码把整个 properties 贴出来呢?
微信小程序开发者回答:
properties: {
微信小程序开发者回答:
像这样把下面的内容打出来看看呢,另外。。看下你界面怎么用这些值的啊
微信小程序开发者回答:
我在observer里加上一条console.log()语句时,发现会无限循环打印,而我的代码里并没有循环语句。。
微信小程序开发者回答:
你写了循环了哦。。你看看,你observer监听的是 images。然后你又在方法里 setData给images赋值
微信小程序开发者回答:
不要黑人家官方。。。
[] != [] // true
微信小程序开发者回答:
数组的比较,!= 不是去判断数组的内容,而是去判断数组的地址。你每次 images = [],都是个新地址,所以每次都不一样
微信小程序开发者回答:
谢谢大佬~~
微信小程序开发者回答:
向大佬献上膝盖。。看来我还要再多学些js。。
本文网址:http://www.91bianli.com/weixinxiaochengxu/46068.html