1、在<movable-area>组件内生成2个<movable-view>,如果只移动其中一个<movable-view>,此时再次生成一个新的<movable-view>就会报错。
2、有没有办法能在新生成<movable-view>时,保存旧的已移动的<movable-view>的位置?目前每次移动后,再次生成时就会所有<movable-view>都回到原点。
<block wx:for=’{{item.arrImg}}’ wx:key=‘i’ wx:for-item=“arrImg” wx:for-index=“img”>
<movable-view x=’{{arrImg.x}}’ y=’{{arrImg.y}}’ bindchange=‘recordXY’ >
<image src=’{{arrImg.img}}’ mode=‘widthFix’ />
</movable-view>
</block>
我的也是点击创建图片,上边是渲染,这个是创建图片的函数,
recordXY:function(e){
var currentPage=this.data.currentPage;
var mainArr = this.data.mainArr;
var x = e.detail.x;
var y = e.detail.y;
var that = this;
var id = e.currentTarget.dataset.id;
var type = e.currentTarget.dataset.type;
if(type==“img”){
mainArr[currentPage].arrImg[id].x=x;
mainArr[currentPage].arrImg[id].y=y;
}
this.setData({mainArr:mainArr})
},
recordXY是记录每一个元素的x,y 希望对你有帮助
我写过一个这个,每次移动后记录当前元素的x,y,赋值给元素本身即可,x和y在bindchange里能获取到
报错的原因 你自己排查一下那个函数吧