小程序基础综合使用

运行时初始状态, 向右切换, 点击后状态(数据是乱编的)

创建wxml结构 :

<view>
  <swiper indicator-dots current='{{current}}'>
    <swiper-item wx:for='{{moviList}}'>
      <view class='p'>
        <button wx:if='{{index !== moviList.length-1}}' class='c' bindtap='last'>去最后一张</button>
        <text>名称: {{item.movieName}}</text>
        <text>年份: {{item.year}}</text>
        <text>评分: {{item.score}}</text>
        <image src='{{item.img}}' data-movie_id='{{item.id}}' catchtap="tap"></image>
      </view>
    </swiper-item>
  </swiper> 
</view>

样式控制:

swiper {                  /*swiper组件的高和边距*/
  height: 700rpx;
  padding: 20rpx 50rpx;
}
.p {
  display: flex;         /*盒子布局*/
  flex-direction: column;
  justify-content: space-around;
  position: relative
}
.c {
  position: absolute;     /*定位按钮坐标*/
  top:200rpx;
  right: 10rpx;
  color: deeppink
}

js处理:

Page({
  data: {        // 为了演示功能写死在这里, 真实情况是调用api来获得
    moviList:[    
      { "movieName": "霸王别姬", "year": 1997, "id":1, "score": 97, "img": 'http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg' },

      { "movieName": "中国功夫", "year": 1995, "id":2, "score": 90, "img": 'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg'},

      { "movieName": "白蛇传", "year": 1994, "id":3, "score": 95, "img": 'http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg'}
    ],
    current : 0
  },
  tap:function(e) {
    var id = e.currentTarget.dataset.movie_id;
    wx.navigateTo({
      url: '../detail/detail?movie_id=' + id,
    })
  },

  last:function() {
    var arr = this.data.moviList;
    console.log(arr.length);
    this.setData({
      current : arr.length-1
    });
  }
})

 我在图片上定义了一个事件 和 一个自定义属性(data-*)

当点击图片时, 这个自定义属性(这里代表的是id)就通过事件传递到了js中

再通过:

wx.navigateTo({

      url: '../detail/detail?movie_id=' + id,

})

根据id, 构建出不同的url, 这样到达新页面时, 会根据id的不同获取不同的数据

新页面的构建:

<view>
  <block wx:for='{{movieList}}'>
    <view wx:if="{{item.id == movie_id}}">
      <view>名称: {{item.movieName}}</view>
      <!--详情信息等-->
    </view>
  </block>
</view>

新页面的js构建:

Page({
  data: {
    movie_id:0,
    //movie:{},        // 根据id得到的数据, 应该是单个对象, 这里就用写死的数组了
    movieList: [
      { "movieName": "霸王别姬", "year": 1997, "id": 1, "score": 97, "img": 'http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg' },

      { "movieName": "中国功夫", "year": 1995, "id": 2, "score": 90, "img": 'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg' },

      { "movieName": "白蛇传", "year": 1994, "id": 3, "score": 95, "img": 'http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg' }
    ]
  },

  onLoad: function (options) {
    var id = options.movie_id;
    this.setData({
      movie_id : id
    });                            // 真实获取数据可能是从调用api来获得
    // wx.request({
    //   url: '',
    // })
  }
})

在每一个页面初始化时, 会调用生命周期函数: onLoad

url中问号后面的参数会被封装到onLoad函数的参数中

比如上面的url: pages/detail/detail?movie_id=1, 那么movie_id=1这个数据就会被封装到onLoad的参数中

通过onLoad函数的参数就可以取出来, 如上面: options.movie_id

就可以利用获得的这个id值去后续调用api, 做真实数据请求

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值