原生微信小程序的一些注意点

简介: 原生微信小程序的一些注意点

1、微信小程序的数据更新


Page({
  // 响应式的数据定义在data里面
   data: {
    bannerList: []
  },
// 微信小程序的数据更新是在setData里面做的
this.setData({
        bannerList:res.data.message
     })
})


2、请求接口如果报错可能是校验合法域名了,需要勾上不校验



3、wx:for遍历后,内部的插值直接使用item即可


<swiper 
        indicator-dots
        autoplay 
        interval="{{interval}}" 
        duration="{{duration}}">
        // 直接wx:for={{数据源}}即可
        <block wx:for="{{bannerList}}" wx:key="*this">
          <swiper-item>
                    // 内部取值直接用item.xxx就可以取到值 ,item是固定的默认值
            <image class="banner-img" src="{{item.image_src}}"></image>
          </swiper-item>
        </block>
      </swiper>


4、获取当前遍历的index


// 使用 wx:for-index="index" 即可打印当前遍历的index
     <view 
         wx:for="{{item.product_list}}"
         wx:for-index="index"
         class="fashion-left-img" >
         {{index}}
    </view>
// 或者使用 wx:key="{{index}}"

5、事件传参

// 定义事件
<view data-alpha-beta="1" data-alphaBeta="2" bindtap="bindViewTap"> DataSet Test </view>
/* 传递参数 
   data-alpha-beta  转换 dataset.alphaBeta   
   data-alphaBeta  转换 dataset.alphabeta
*/
Page({
  // 取值 event.currentTarget.事件名
  bindViewTap:function(event){
    event.currentTarget.dataset.alphaBeta === 1 // - 会转为驼峰写法
    event.currentTarget.dataset.alphabeta === 2 // 大写会转为小写
  }
})
// 补充:使用解构方式接参
attack(event) {
     let {currentTarget:{dataset:{id}}} = event
     console.log(id);
    }

6、小程序页面传参

// 当前页面自定义方法
gotoDetails(e){
    var url = e.currentTarget.dataset.url;
    // console.log(url)
    wx.navigateTo({
      url: '../details/details?url='+url,
    })
  },
// 跳转页接收
onLoad:function(options){
    let url = options.url;
    this.setData({
      url:url
    })
  },

7、原生微信小程序不支持插值表达式内套模板字符串

// 正确写法
   <text wx:if="{{item.status == 1 }}">还差{{item.differNum}}个</text>
   <text wx:if="{{item.status == 2 }}">购买完成</text>
   <text wx:else>购买失败</text>
// 错误写法
  <text>{{item.status == 1 ? `还差${item.differNum}个` : item.status == 2 ? '购买完成' : '购买失败'}}</text>

8、分享好友

微信小程序分享分两种

1、点击页面按钮的分享

2、小程序胶囊处的分享

按钮的分享和胶囊处的分享可以做不同的展示效果,通常胶囊处的分享用来分享整个页面,按钮的分享用来让用户助力。

胶囊处的分享:

按钮的分享:

这两中分享会走 onShareAppMessage() 方法,这个方法有一个回调函数,可以判断分享的来源

onShareAppMessage(e) {
   if(e.from == "button") {
      console.log('按钮分享');
    return {
        title:  `点击助力“${userInfo.name}”,开盒助力,100%中奖`, //分享出去的标题
        imageUrl: "图片路径", //分享时显示的图片
        path: `/pages/home/index?goodsid=${xxx}`//别人点击链接进来的页面及传递的参数
    }
      } else {
      console.log('胶囊分享');
      return {
        title:  `盲盒大礼,参与即得!`, //分享出去的标题
        imageUrl: "图片路径", //分享时显示的图片
        path: `/pages/home/index`//别人点击链接进来的页面及传递的参数
    }
      }
   }

图片路径未填写分享时偶尔会报错,需要注意。

好友点击链接进入分享页的时,可以在 onShow 或者 onLoad 获取上一步分享出去的参数

onLoad(options) {
   console.log('获取分享的参数',options);
  },
  onShow() {
    let pages = getCurrentPages();
    let currentPage = pages[pages.length - 1];
    console.log('获取分享的参数',currentPage.options);
  },

9、showTost和showLoading不能同时使用

wx.showLoading(Object object)
wx.showToast(Object object

这两个方法不能同时使用,否则只会显示其中一个,另外一个被覆盖不显示,如果要同时使用,建议使用定时器分开,等第一个弹框执行完后再执行第二个

wx.showToast({
        title: '请求成功',
        icon: 'none',
        duration: 1000
      })
setTimeout(()=>{
wx.showLoading(...)
},1000)

小程序的多层嵌套

wx:for-item:更改循环的item名字

wx:for-index:遍历的index

view wx:for="{{['a','b','c','d',]}}"  wx:for-item="i"  wx:key="index">
  <view wx:for="{{ i.list}}" wx:key="index2" >
    // sth...
  </view>
</view>
目录
相关文章
|
1月前
|
机器学习/深度学习 人工智能 JSON
微信小程序原生AI运动(动作)检测识别解决方案
近年来,疫情限制了人们的出行,却推动了“AI运动”概念的兴起。AI运动已在运动锻炼、体育教学、线上主题活动等多个场景中广泛应用,受到互联网用户的欢迎。通过AI技术,用户可以在家中进行有效锻炼,学校也能远程监督学生的体育活动,同时,云上健身活动形式多样,适合单位组织。该方案成本低、易于集成和扩展,已成功应用于微信小程序。
|
1月前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
595 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
3月前
|
小程序 前端开发 JavaScript
微信小程序结合PWA技术,提供离线访问、后台运行、桌面图标及原生体验,增强应用性能与用户交互。
微信小程序结合PWA技术,提供离线访问、后台运行、桌面图标及原生体验,增强应用性能与用户交互。开发者运用Service Worker等实现资源缓存与实时推送,利用Web App Manifest添加快捷方式至桌面,通过CSS3和JavaScript打造流畅动画与手势操作,需注意兼容性与性能优化,为用户创造更佳体验。
105 0
|
3月前
|
存储 小程序 JavaScript
|
3月前
|
存储 小程序 关系型数据库
原生小程序 获取手机号并进行存储到mysql数据库
原生小程序 获取手机号并进行存储到mysql数据库
|
4月前
|
小程序 前端开发
【微信小程序-原生开发】实用教程22 - 绘制图表(引入 echarts,含图表的懒加载-获取到数据后再渲染图表,多图表加载等技巧)
【微信小程序-原生开发】实用教程22 - 绘制图表(引入 echarts,含图表的懒加载-获取到数据后再渲染图表,多图表加载等技巧)
257 0
|
4月前
|
小程序
【微信小程序-原生开发】实用教程21 - 分包
【微信小程序-原生开发】实用教程21 - 分包
374 0
|
1月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
509 7
|
1月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
611 1
|
1月前
|
小程序 前端开发 测试技术
微信小程序的开发完整流程是什么?
微信小程序的开发完整流程是什么?
114 7

热门文章

最新文章

下一篇
无影云桌面