微信小程序(一)setData绑定数据的坑

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/y_z_w123/article/details/81385110

简单说明

在进行请求数据返回的时候,控制台打印的返回字符串是正确的格式。
在AppData 观看却多了一个  \

setData()需要点击触发,this 是本对象,保险起见看一下写法

1.var that = this
this.setData({'title':data})
1.你要定义在触发函数的下面第一行或着放在onload()函数里

需要写的地方

例子如下

var result= '\"[{\"Title\":\"\\u72ee\\u5b50\\u732b\",\"Desc\":\"\\u53ef\\u80fd\\u6027\\uff1a32.94%\",\"ImgUrl\":\"https:\\/\\/i04piccdn.sogoucdn.com\\/2e0e593dec55fe73\",\"Url\":\"https:\\/\\/cn.bing.com\\/search?q=\\u72ee\\u5b50\\u732b\"},{\"Title\":\"\\u5e03\\u5076\\u732b\",\"Desc\":\"\\u53ef\\u80fd\\u6027\\uff1a18.05%\",\"ImgUrl\":\"https:\\/\\/img03.sogoucdn.com\\/app\\/a\\/100520093\\/30c40e020f63f81f-85679ec6a342f6f1-6689437954b87fddb24e67395deb1187.jpg\",\"Url\":\"https:\\/\\/cn.bing.com\\/search?q=\\u5e03\\u5076\\u732b\"}]"'

解决办法(正则去匹配)

var expr=/\"(.*)\"/;
var res= result.match(expr);
console.log(res);
if(res.length>0){
  var resArr=JSON.parse(res[1]);
  console.log(resArr);
}else{
  var resArr=null;
}
console.log(resArr);

调试方法

1. 控制台AppData wxml和右边的>>>

猜你喜欢

转载自blog.csdn.net/y_z_w123/article/details/81385110