image组件binderror实例,使用百度api获取天气信息

这是一款来自小程序免费开发制作网的小程序demo源码,希望大家喜欢。

一:image组件binderror使用例子(对应html、js中的onerror) 
作者:无影飞絮剑,来自授权地址

binderror HandleEvent 当错误发生时,发布到 AppService 的事件名,事件对象event.detail = {errMsg: ‘something wrong’}

在微信小程序开发中,我们使用列表包含图片,如果这个图片链接404错误,那么我们应该给它提供一个默认的友好URL地址。html和js中使用onerror事件就可以了

 


  1. <img src="image.gif" onerror="this.src='https:w.chesudi.com/Public/web/img/onerrorcar.png'" />

微信小程序image组件没提供onerror事件,提供了一个binderror事件来代替。

如果图片链接404,就会触发这个binderror事件,我们在绑定的事件里修改对应的数据源就好了,如下

.wxml文件

 


  1. <image class="carlist_img" src="{{item.img}}" binderror="binderrorimg" data-errorimg="{{index}}"></image>

.js文件 

 


  1. binderrorimg:function(e){
    var errorImgIndex= e.target.dataset.errorimg //获取循环的下标
    var imgObject="carlistData["+errorImgIndex+"].img" //carlistData为数据源,对象数组
    var errorImg={}
    errorImg[imgObject]="https://w.chesudi.com/Public/web/img/onerrorcar.png" //我们构建一个对象
    this.setData(errorImg) //修改数据源对应的数据
    }

易错点:this.setData({“carlistData[“+errorImgIndex+”].img”:对象})类似这样的就不正确了

 

二:微信小程序使用百度api获取天气信息

作者:michael_ouyang,来自授权地址  下面介绍使用百度api来获取天气信息。

1> 第一步:先到百度开放平台http://lbsyun.baidu.com申请ak  http://lbsyun.baidu.com/index.php?title=wxjsapi/guide/key

(此图片来源于网络,如有侵权,请联系删除! )

申请到ak后,在我的应用里就能查看到 

(此图片来源于网络,如有侵权,请联系删除! )

2> 第二步:配置你的request合法域名  配置域名请到微信公众平台的后台里设置 

(此图片来源于网络,如有侵权,请联系删除! )

3> 第三步:下载百度地图的api ,链接:微信小程序JavaScript API v1.0.zip

解压后,里面有2个js文件,一个是常规没压缩的,另一个是压缩过的  PS:由于小程序项目文件大小限制为1M,建议使用压缩版的js文件! 

(此图片来源于网络,如有侵权,请联系删除! )

4> 第四步:引入JS模块  在项目根目录下新建一个路径,将百度的js文件拷贝到新建的路径下,完成。  如下图所示,新建路径 “libs/bmap-wx” ,将 bmap-xw.min.js 文件拷贝至 “libs/bmap-wx” 路径下。 

(此图片来源于网络,如有侵权,请联系删除! )

5> 第五步:在所需的js文件内导入js  // 引用百度地图,注意:require传入一个相对路径  var bmap = require(‘../../libs/bmap-wx/bmap-wx.js’);

6> 第六步:编辑代码  注意:此处楼主使用的ak是随便写的,同学们需要自行申请!!!  xxx.wxml:

 


  1. <view>
    <text>{{weatherData}}</text>
    </view>
    <view style="padding-top:30px"></view>
    <block wx:for="{{futureWeather}}">
    <view style="border:1px solid #ccc; margin:5px">
    <view>{{item.date}}</view>
    <view>{{item.temperature}}</view>
    <view>{{item.weather}}</view>
    <view>{{item.wind}}</view>
    </view>
    </block>

xxx.js:

 


  1. // 引用百度地图微信小程序JSAPI模块
    var bmap = require('../../libs/bmap-wx/bmap-wx.min.js');
    
    Page({
    data:{
    ak:"FHG7utZtdyXN23W",
    weatherData:'',
    futureWeather:[]
    },
    onLoad:function(options){
    var that = this;
    // 新建bmap对象
    var BMap = new bmap.BMapWX({
    ak: that.data.ak
    });
    var fail = function(data) {
    console.log(data);
    };
    var success = function(data) {
    console.log(data);
    
    var weatherData = data.currentWeather[0];
    var futureWeather = data.originalData.results[0].weather_data;
    console.log(futureWeather);
    weatherData = '城市:' + weatherData.currentCity + '\n' + 'PM2.5:' + weatherData.pm25 + '\n' +'日期:' + weatherData.date + '\n' + '温度:' + weatherData.temperature + '\n' +'天气:' + weatherData.weatherDesc + '\n' +'风力:' + weatherData.wind + '\n';
    that.setData({
    weatherData: weatherData,
    futureWeather: futureWeather
    });
    }
    
    // 发起weather请求
    BMap.weather({
    fail: fail,
    success: success
    });
    }
    
    })

7> 第七步:运行 

(此图片来源于网络,如有侵权,请联系删除! )

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

本资源来自易用通,如有侵权,请联系站长。

【小程序源码网资源版权风险说明】:
本站为避免不必要的纷争,分享的所有资源中一切可能有版权风险的资源将全部转载自第三方网站或平台,站长只为大家提供相关资源的介绍和跳转引导。 因可能有疏忽大意,所以如有遗漏资源侵犯了您的合法权利,请联系站长删除。
【小程序源码网资源下载使用说明】:
本站所分享的一切QQ小程序源码,thinkphp整站源码,微信小程序源码,图文教程等资源仅供用户学习参考使用,任何人不得作其他用途,违者自行承担所有责任。
【小程序源码网毫无人看的介绍】:
本站又称Z站,原名贼娘网,开站于2018年,换过三任站长,目前站长是第四任站长,本站是一个主要分享免费开源小程序源码/网站源码/免费素材/教程资源的网站,主要小程序资源有用于学习的小程序源码,也有正版原创可商用的小程序源码,是一个公益博客型网站。
【小程序源码网原创源码版权申明】:
未经小程序源码网许可,任何人不得擅自使用本站原创首发源码进行商业行为(除本站VIP用户在期限内,版权无使用限制),否则将依法承担相应赔偿责任。
【小程序源码网转载文章版权申明】:
本站所转载的QQ小程序或微信小程序源码与其他资源仅供学习,任何人不得作其他用途,违者自行承担所有责任。
【小程序源码网站长最后的屁话】:
如有您认为本站有任何侵犯您合法权益的文章,或者您有什么疑问需求,欢迎联系站长QQ,站长24小时在线,备注公司名称和源码版权问题或者需要小程序定制开发等站长业务类型可急速处理,如果您只是交流小程序的一些开发问题或源码问题可以加入QQ群讨论,就不用加站长啦,对于白嫖党,QQ群才是处理问题的天堂,当然站长也欢迎大家骚扰~
小程序源码网 » image组件binderror实例,使用百度api获取天气信息
嘿,投喂下嘛!