微信小程序学习笔记(动态绑定样式,双层循环item重名,页面跳转,async/await的再次学习)

微信小程序学习笔记

1,微信小程序动态绑定style样式和class

今天在做项目时遇到了一个关于切换导航 切换样式的问题,自己是想用style和class动态绑定来完成 但是自己一时又记不起来怎么写了 于是上网上 查了查资料 现在来进行总结

首先是遍历导航按钮的每一项并赋予index

第二步是通过点击导航按钮来更改保存在data中的selectIndex通过在标签中的class样式

<button class="{{ index===currentIndex? 'active':'' }}" >
          {{ item.typename }}
    </button>

2,关于微信小程序的双层循环嵌套的item同名的问题

今天同样是在一个页面在自己也遇到了双层循环嵌套的问题,但是自己因为不知道怎么给第二个内部嵌套的item重新命名而产生问题 所以自己也上网查找了怎样 修改内部循环出item的方法

  <swiper-item wx:for="{{ questionList }}" wx:key="{{ index }}">
    <view class="section">
      <view wx:for="{{ item['answers'] }}" wx:key="{{ index }}" wx:for-item="questionItem">{{ questionItem['id'] }}</view>
    </view>
  </swiper-item>

方法如上:wx:for-item="新名字"即可index同理,wx:for-index=“新名字”

3,关于微信小程序跳转页面的的问题

项目中用到了点击使用优惠卷跳转到首页的一个业务 因为自己对小程序的官方文档不够熟悉 所以自己在这里也卡壳了 今天就在这里 进行再次学习

 wx.navigateTo()  带历史回退
  wx.redirectTo() 不保留历史,跳转到另一个页面,不能返回到上一页面  this.$router.replace()
  wx.switchTab() 只跳转到tabBar页面,不带回退
  wx.reLaunch() 即能跳转到tabBar页面,也能跳转到非tabBar页面,不带历史回退

4,昨天晚上的async和await方法自己还不是太理解 今天进行再次学习

首先是于async/await相关的知识点promise对象 、

promise对象特点

  • 对象的状态不受外界影响
  • 一旦改变状态,就不会再改变了,任何时候都可以得到这个结果

Promise的then方法:

promise的then方法带有以下三个参数:成功回调,失败回调,前进回调,一般情况下只需要实现第一个,后面是可选的

function greet(){
var promise = new Promise(function(resolve,reject){
    var greet = "hello  world";
    resolve(greet);
});
return promise;
}
var p = greet().then(v=>{
console.log(v);
})

console.log(p);

这段代码的输出结果:

promise{ }

hellow world

从结果看出 promise是一个异步的方法,因为hellow world在最后语句打印出来 而且 promise状态还是pending(进行中)

看完了 proomise后 我们再来看看async和await这个东东

function resolveAfter2Seconds(x) {
  return new Promise(resolve => {
    setTimeout(() => {
      resolve(x);
    }, 2000);
  });
}

async function f1() {
  var x = await resolveAfter2Seconds(10);
  console.log(x); // 10
}
f1();

这段代码通过昨天的学习和自己的理解来看在执行f1时 因为f1前加了async异步函数 函数中还有await会等待resolveAfter2Seconds这个函数 所以 隔了两秒后就会打印10 “async 函数返回一个 Promise 对象,当函数执行的时候,一旦遇到 await 就会先返回,等到触发的异步操作完成,再接着执行函数体内后面的语句。”这时候 理解这句话 难度也就不大了 在以后项目中多多使用 熟能生巧

今天的学习总结 就是这些了 明天继续加油
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序中的async/await是一种用于处理异步操作的特性。它可以使异步代码看起来更加直观和舒适。然而,默认情况下,"微信开发者工具"并不支持async/await。但你可以启用它的方法是在微信开发者工具的设置中勾选"增强编译"选项。这样一来,你就可以在小程序中使用async/await了。 在微信小程序中,有很多接口是异步调用的,比如wx.login()、wx.request()、wx.getUserInfo()等。你可以使用async/await来处理这些异步操作。具体的使用方法如下: 1. 在需要使用async/await的函数前面加上async关键字,这样函数就变成了异步函数。 2. 在需要等待的异步操作之前使用await关键字,这样代码会等待异步操作完成后再继续执行。 3. 在异步函数的外部使用try/catch块来捕获可能的异步操作异常。 下面是一个使用async/await的示例代码: ```javascript async function getData() { try { const res = await wx.request({ url: 'https://api.example.com/data', method: 'GET' }); console.log(res.data); } catch (error) { console.error(error); } } ``` 这个示例中,使用async关键字声明了一个异步函数getData(),在函数内部使用await关键字等待wx.request()方法返回的数据。如果请求成功,就会打印出返回的数据;如果请求失败,就会打印出错误信息。 在实际开发中,你可以根据需要将异步操作封装成函数,然后在需要的地方调用这些函数使用async/await来处理异步操作。这样可以使代码更加简洁和易于维护。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [在微信小程序中使用 async/await](https://blog.csdn.net/z591102/article/details/107511702)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [微信小程序中使用 async/await的方法实例分析](https://download.csdn.net/download/weixin_38592455/13132396)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值