微信小程序知识点(一)

1.条件判断:

wx:if,wx:elif,wx:else 和Hidden的区别

wx:if等是动态实现组件的,符合条件,页面上就新增一个组件,不符合,就会在也页面上加载,而Hidden只是控制页面的组件的显示与否,就算不显示,组件也会在DOM页面的存在。

2.循环:wx:for

wx:for后面跟一个数据集合,标识循环加载某一种的类型的控件,一般后面需要指定一个wx:key的字段。

3.发起数据请求 wx:request

向服务端发起数据请求使用wx:request ,这里不能称作ajax啥的,因为ajax是针对网页的,而小程序的宿主是微信客户端,

javascript 复制代码
 wx.request({
      url: 'https://applet-base-api-t.itheima.net/categories',
      method:"GET",
      success:(res)=>{
        //console.log(res.data)
        this.setData({
          gridList:res.data
        })
      }
    })

4.控件事件绑定:bindtap

如果要给控件增加点击事件,不是用onClick,而是定义bindtap="function"来定义,然后在页面对应的js文件中实现事件逻辑。

5.数据交互和渲染

在页面对应的js文件中,都会有全局的data数据集合,里面定义一些json类型的数据信息,比如data:{"name":"tom"},如果wxml文件中需要使用里面的数据,语法为{{name}}。两个花括号里面放置数据名,也可以进行三元表达式的使用。

6.页面导航跳转

1.声明式导航:

<navigator>组件,定义open-type属性,指定要跳转的页面的url地址,跳转到tabBar类型的页面时,open-type为switchTab

javascript 复制代码
<navigator url="/pages/info/info" open-type="switchTab">消息</navigator>

跳转到非tabbar页面时,open-type为navigate

javascript 复制代码
<navigator url="/pages/info/info" open-type="navigate">消息</navigator>
2.编程式导航:

编程式跳转指的是通过按钮或其他组件的bindtap事件代码来定义。

使用wx.switchTab和wx.navigateTo分别来操作跳转到tabBar页面和费tabBar页面:如下代码:

html 复制代码
<button type="primary" bind:tap="gotoMessage">消息</button>
<button type="primary" bind:tap="gotoInfo">个人信息</button>
javascript 复制代码
  //跳转到消息页面
  gotoMessage(e){
    wx.switchTab({
      url: '/pages/message/message',
    })
  },
  //跳转到info页面
  gotoInfo(){
    wx.navigateTo({
      url: '/pages/info/info',
    })
  },

7.导航传参

1.声明式导航传参

参数放置在url配置中,路径与参数用?分隔、参数名与参数值用=相连,不同参数直接用&分隔,与网页的传参类似:代码示例如下:

html 复制代码
<navigator url="/pages/info/info?name=tom&age=20" >个人信息</navigator>

在左侧底部查看参数是否传递过来:可以看到,参数已经传递过来了

2.编程式导航传参

在wx.navigateTo(Object object)方法中设置需要传递的参数:

javascript 复制代码
 //跳转到info页面
  gotoInfo(){
    wx.navigateTo({
      url: '/pages/info/info?name=jerry&age=18',
    })
  },
3.在onLoad事件接收导航参数

通过页面后台js中的onLoad事件,从参数options里面获取外部传递过来的相关参数。

我们可以使用页面的data集合来接收他们,并且通过{{}}方式显示在页面上:

javascript 复制代码
 data: {
    query :{}
  },

 onLoad(options) {
    this.setData({query:options})
  },
html 复制代码
<text >姓名:{{query.name}}</text>
<text >年龄:{{query.age}}</text>
相关推荐
2501_9151063217 分钟前
iOS 混淆与 IPA 加固全流程,多工具组合实现无源码混淆、源码防护与可审计流水线(iOS 混淆|IPA 加固|无源码加固|App 防反编译)
android·ios·小程序·https·uni-app·iphone·webview
游戏开发爱好者818 分钟前
用多工具组合把 iOS 混淆做成可复用的工程能力(iOS混淆 IPA加固 无源码混淆 Ipa Guard)
android·ios·小程序·https·uni-app·iphone·webview
lypzcgf2 小时前
商城小程序数据库表结构文档
数据库·小程序·电商
2501_915921432 小时前
掌握 iOS 26 App 性能监控,从监测到优化的多工具组合流程
android·macos·ios·小程序·uni-app·cocoa·iphone
知识分享小能手3 小时前
uni-app 入门学习教程,从入门到精通, uni-app常用API的详细语法知识点(上)(5)
前端·javascript·vue.js·学习·微信小程序·小程序·uni-app
Strawberry963 小时前
chooseVideo传视频无法取到缩略图
微信小程序
一匹电信狗4 小时前
【C++】手搓AVL树
服务器·c++·算法·leetcode·小程序·stl·visual studio
2501_916008894 小时前
手机 iOS 系统全解析,生态优势、开发机制与跨平台应用上架实践指南
android·ios·智能手机·小程序·uni-app·iphone·webview
00后程序员张6 小时前
Fiddler使用教程,全面掌握Fiddler抓包工具的配置方法、代理设置与调试技巧(HTTPHTTPS全解析)
前端·测试工具·ios·小程序·fiddler·uni-app·webview
2501_916008896 小时前
HTTPS 下的 DDoS 防护与抓包分析实战,从检测到快速缓解的工程化打法
网络协议·ios·小程序·https·uni-app·iphone·ddos