问答

请教,小程序动态创建view,怎么给这些添加的view设置不同的top/

作者:admin 2021-07-09 我要评论

问题描述 应用场景: 1.动态生成view 2.让这些view随机分布在页面上 现在需要动态生成view组件,同时让这些view随机分布在页面上,所以需要生成的同时给这些view...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

问题描述

应用场景:
1.动态生成view
2.让这些view随机分布在页面上

现在需要动态生成view组件,同时让这些view随机分布在页面上,所以需要生成的同时给这些view设置不同的top、left值

相关代码

wxml:
<view wx:for='{{array}}' wx:key='' class="pops" style="top:{{top}}rpx;left:{{left}}rpx">
js:

data:{
array: [],
top: '',
left: '',
}

事件:

    var pop_array = this.data.array;
    pop_array.push(1);
    var row = Math.floor(Math.random() * showHeight);
    var col = Math.floor(Math.random() * showWidth);
    this.setData({
      array: pop_array,
      top: row,
      left: col,
    });

求教

我这样写添加的view都会随机到同一个位置,知道是错的,想知道问题出在哪里,怎样分别设置坐标?求教,感谢!

###
data:{
    array: []
}
var pop_array = this.data.array;
var pop_arrayItem = {
    row : Math.floor(Math.random() * showHeight),
    col : Math.floor(Math.random() * showWidth)
}
pop_array.push(pop_arrayItem);
this.setData({
    array: pop_array,
});

这样子的吧 每一个view都要有它自己的top和left

<view wx:for='{{array}}' wx:key='' class="pops" style="top:{{item.top}}rpx;left:{{item.left}}rpx">

###

你这 topleft 每次都覆盖前面的值了啊,值都一样,肯定是同一个啊。

这俩属性难道不应该是 array 里每个元素的属性?怎么能跟 array 平级呢?

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • elementUI表单Object.assign处理后无法

    elementUI表单Object.assign处理后无法

  • nacos作为配置中,有时可以加载到配置

    nacos作为配置中,有时可以加载到配置

  • font-spider压缩字体后,文件大小没有

    font-spider压缩字体后,文件大小没有

  • Vue SSR babel node_modules中的一个包

    Vue SSR babel node_modules中的一个包

腾讯云代理商
海外云服务器