微信小程序 动态绑定数据及动态事件处理
关键核心代码
<image class="midimage" data-Type="{{item.Type}}" data-BillCode="{{item.BillCode}}" data-src="{{item.imgurl}}" src="{{item.imgurl}}" mode="scaleToFill" bindtap="addtaskimg" bindlongtap="imglongtap" ></image>
var objurl= JSON.parse(res.data); //重置图片参数 var temppostionlist=that.data.postionlist; for (var i=0;i<temppostionlist.length;i++) { if (temppostionlist[i]["Type"]==e.currentTarget.dataset.type){ temppostionlist[i]["imgurl"]=temppaths; temppostionlist[i]["serverimgurl"]=objurl.Body.Data; break; } } that.setData( { postionlist:temppostionlist })
利用image的data-Type,可以在js后台中知道是点击了哪个image,上传图片后再循环得出相等data-type的数据项进行赋值,这样就能动态给相应的标签赋值
addtaskimg 为统一的动态事件
主要代码如下
.wxml
<scroll-view class="center" scroll-y="true"> <view class="midcenter" wx:for="{{postionlist}}"> <view class="mid_top" > <image class="smallimage" src="../images/my/XXH/line_title.png" mode="aspectFit" ></image> <text>{{item.KeyValue}}</text> </view> <view class="mid_center"> <text>{{item.Remark}}</text> </view> <view class="mid_bottom"> <image class="midimage" data-Type="{{item.Type}}" data-BillCode="{{item.BillCode}}" data-src="{{item.imgurl}}" src="{{item.imgurl}}" mode="scaleToFill" bindtap="addtaskimg" bindlongtap="imglongtap" ></image> </view> </view> </scroll-view>
.js
addtaskimg:function(e){ //添加选择图片 if (this.data.blongtap) { //处理如果是长按,则不再执行下面的 this.setData({ blongtap:false }); return; } var that = this; wx.chooseImage({ count:1, //默认1张 success:function(res){ //先上传至服务器,再返回路径供保存 var temppaths=res.tempFilePaths[0];//+".jpg"; wx.uploadFile({ url:app.globalData.ghost+"YWTask/PutUploadFile?BillCode="+that.data.detail.BillCode+"&ID="+that.data.id, filePath:temppaths, name:'image', formData:{}, success:function(res){ //res.data返回的是一个字符串,需进行转换成objcet,wx不识别eval函数 console.log(res.Data); var objurl= JSON.parse(res.data); //重置图片参数 var temppostionlist=that.data.postionlist; for (var i=0;i<temppostionlist.length;i++) { if (temppostionlist[i]["Type"]==e.currentTarget.dataset.type){ temppostionlist[i]["imgurl"]=temppaths; temppostionlist[i]["serverimgurl"]=objurl.Body.Data; break; } } that.setData( { postionlist:temppostionlist }) } }) } }) }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
本文向大家介绍微信小程序动态增加按钮组件,包括了微信小程序动态增加按钮组件的使用技巧和注意事项,需要的朋友参考一下 这里的微信小程序动态加载是以按钮为例,主页面点击不同的按钮进入不同的子页面中,根据主页面的title来动态加载子页面按钮的数量以及值。 效果图: wxml文件(注意wx:key="item"要写,不然它会有警告): 这里起关键作用的是wx:for,这里是循环。 wxss文件: js文
本文向大家介绍微信小程序如何像vue一样在动态绑定类名,包括了微信小程序如何像vue一样在动态绑定类名的使用技巧和注意事项,需要的朋友参考一下 小程序 开发中遇到这样一个问题... 排行榜开发的时候,前三名的样式不同,其余的样式一样。但是都是通过同一元素来遍历的,当时卡了一下。后来发现有module模块化这一概念,于是查了下api,一下子就做出来了。 就是不同名次上边的样式根据实际情况展示效果
本文向大家介绍微信小程序 教程之数据绑定,包括了微信小程序 教程之数据绑定的使用技巧和注意事项,需要的朋友参考一下 系列文章: 微信小程序 教程之WXSS 微信小程序 教程之引用 微信小程序 教程之事件 微信小程序 教程之模板 微信小程序 教程之列表渲染 微信小程序 教程之条件渲染 微信小程序 教程之数据绑定 微信小程序 教程之WXML 数据绑定 WXML中的动态数据均来自对应Page的data。
还没有微信小程序,请先完成小程序注册,查看注册流程 1、登录 微信公众平台 ,添加营销通发送订阅消息及视频展示等依赖的服务类目与插件: 访问【设置】-【基础设置】-【服务类目设置】,添加以下服务类目: 工具>企业管理 工具>效率 工具>视频客服 访问【设置】-【第三方插件】-【插件管理】,添加以下插件: 腾讯视频 企业客户服务 2、登录纷享销客,访问【营销通】-【小程序微站】-【概览】或【小程序设
本文向大家介绍详解微信小程序 template添加绑定事件,包括了详解微信小程序 template添加绑定事件的使用技巧和注意事项,需要的朋友参考一下 详解微信小程序 template添加绑定事件 对于模板的使用,我是想将模板的事件单独出来,其他引用模板的页面中不再掺杂模板事件,比较方便管理,如果还有其他好的解决办法, 请赐教。 template.wxml template.js template
问题内容: 我对动态绑定和静态绑定感到非常困惑。我已经读过,在编译时确定对象的类型称为静态绑定,而在运行时确定它的称为动态绑定。 下面的代码会发生什么: 静态绑定还是动态绑定? 这表明什么样的多态性? 问题答案: 您的示例是 动态绑定 ,因为在运行时确定类型是什么,并调用适当的方法。 现在假设您也具有以下两种方法: 即使您更改为 这将打印出来,因为对的调用使用 静态绑定 ,并且编译器仅知道其类型。
静态绑定还是动态绑定? 这显示了什么样的多态性?
本文向大家介绍vue实现动态数据绑定,包括了vue实现动态数据绑定的使用技巧和注意事项,需要的朋友参考一下 实现的步骤: 1.监听对象属性的读取与变化 Object.defineProperty() 方法会直接在对象上定义一个新的的属性,或者已经存在的属性并且返回这个属性 语法是 Object.defineProperty(obj, prop, descript) obj: 目标对象 prop: