码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 微信小程序开发(二)


    目录

    跳转(非tabbar的页面)

    对标签绑定点击事件

    页面跳转

    通过标签跳转

    数据绑定

    基本显示

    数据更新

    获取用户信息

    方式一

     方式二:(和方式一效果相同,但是比较推荐)

    获取用户位置信息

    for指令

    跳转(非tabbar的页面)

    对标签绑定点击事件

    下方的代码对应如下页面,可以看到代码中在“广场”那一行

    <text  bindtap="clickMe" data-nid = "123" data-name="lsc">广场text>

     bindtap是一个小程序中用于绑定组件点击事件的属性。它可以在组件上设置,当组件被点击时会触发相应的事件处理函数。

    1. <view class="container">
    2. <image src="/pages/static/head.jpeg" >image>
    3. <text class = "my-text">我的昵称text>
    4. <text class = "my-text">我的账号:12345678text>
    5. view>
    6. <view class="my-text1">
    7. <text >服务text>
    8. <text >收藏text>
    9. <text bindtap="clickMe" data-nid = "123" data-name="lsc">广场text>
    10. <text >设置text>
    11. view>

    页面跳转

     在对应的js文件中,写了如下代码:

    wx.navigateTo 是一个小程序API,用于跳转到新页面,并将新页面加入当前页面栈中。在新页面中,用户可以返回上一个页面。

    1. clickMe:function(e){
    2. var nid = e.currentTarget.dataset.nid;
    3. console.log(nid);
    4. var name = e.currentTarget.dataset.name;
    5. console.log(name);
    6. wx.navigateTo({
    7. url: '/pages/jump/jump?id='+nid,
    8. })
    9. }

            这段代码是在js文件中写出对应的 `clickMe` 的函数,当用户点击“广场”时会被触发。函数从点击元素的数据集中获取 `nid` 和 `name` 的值,然后将它们记录到控制台。然后,使用 `wx.navigateTo` 方法,函数将导航到一个新页面,该页面的 URL 包括 `nid` 值作为查询参数。(这个新界面的URL是pages文件夹下jump文件中的jump.wxml页面)

    点击“广场”之后,界面跳转到设置的URL,并且在下方输出想要的nid或者name:

    获取想要的nid(使用jump.js文件中的onLoad监听函数):

    onLoad 函数是小程序页面的生命周期函数之一,当一个页面被加载时,onLoad 函数会被触发执行。它的作用是在页面加载时,进行一些初始化操作,例如获取从其他页面传来的数据,或进行一些当前页面数据的初始化等操作。

    通过标签跳转

     是微信小程序中的一个组件,它可用于实现页面跳转、打开网页等功能。该组件类似于 HTML 中的超链接 ,可以通过设置 url 属性来跳转到指定的页面或网页。

    通过以下代码也能成功跳转:

      <navigator url ="/pages/jump/jump">广场navigator>

     组件有以下几个常用属性:

    1. url:表示要跳转的目标页面路径或网页链接。
    2. target:表示在何种应用内打开目标页面或网页。默认值为 self,表示在当前小程序中打开;还可以设置为 miniProgram,表示在其它小程序中打开;或者设置为 h5,表示在网页中打开。
    3. open-type:表示跳转方式的类型。常见的值包括 navigate(对应小程序的页面栈导航,保留当前页面可以返回)、redirect(替换当前页面,不可返回)、switchTab(切换 Tab 页)、reLaunch(关闭所有页面,打开到应用内的某个页面),以及 getPhoneNumber、getUserInfo 等用户信息授权操作。
    4. hover-class:表示当用户鼠标悬停在该组件上时应用的样式类。

    数据绑定

    基本显示

    在wxml中:

    <view>数据:{{message}}view>

    展示数据,在js中

    1. Page({
    2. /**
    3. * 页面的初始数据
    4. */
    5. data: {
    6. message:890,
    7. name: "",
    8. path:"/pages/static/head.jpeg"
    9. },
    数据更新

    在wxml中:

    1. <view>数据:{{message}}view>
    2. <button bindtap="changeData">点击修改数据button>

    修改数据:

    1. Page({
    2. /**
    3. * 页面的初始数据
    4. */
    5. data: {
    6. message:890,
    7. name: "",
    8. path:"/pages/static/head.jpeg"
    9. },
    10. changeData:function(){
    11. //获取数据
    12. console.log(this.data.message);
    13. //修改数据
    14. this.setData({message:"123"})
    15. },
    获取用户信息
    方式一

    在wxml中

    <view bindtap = "getUserName">获取当前用户名view>

    js:

    1. getUserName:function(){
    2. var that =this;
    3. //调用微信的接口,获取当前用户信息
    4. wx.getUserInfo({
    5. success:function(res){
    6. //调用成功后触发
    7. console.log(res)
    8. that.setData(
    9. {name:res.userInfo.nickName,
    10. path:res.userInfo.avatarUrl}
    11. );
    12. },
    13. fail:function(res){
    14. //调用失败后触发
    15. }
    16. })
    17. },

     点击“获取当前用户名”几个字之后,会获取用户姓名和微信头像

    获取到用户名和头像

     方式二:(和方式一效果相同,但是比较推荐)

    wxml

    <button open-type="getUserInfo" bindgetuserinfo="xxxx">获取信息button>

    js

    1. xxxx:function(){
    2. var that =this;
    3. wx.getUserInfo({
    4. success:function(res){
    5. //调用成功后触发
    6. console.log(res)
    7. that.setData(
    8. {name:res.userInfo.nickName,
    9. path:res.userInfo.avatarUrl}
    10. );
    11. },
    12. fail:function(res){
    13. //调用失败后触发
    14. }
    15. })
    16. },
    获取用户位置信息

    wxml

    <view bindtap="getlocalPath">位置:{{localPath}}view>

    js

    1. data: {
    2. localPath:"请选择位置",
    3. },
    4. getlocalPath:function(){
    5. var that = this;
    6. wx.chooseLocation(
    7. {success:function(res)
    8. {
    9. that.setData({localPath:res.address});
    10. },
    11. }
    12. )
    13. },

    点击“位置”后:

    选择完位置将自动显示

    for指令

    wxml:

    1. <text>商品列表text>
    2. <view>
    3. <view wx:for="{{dataList}}" >{{index}} - {{item}}view>
    4. <view wx:for="{{dataList}}" wx:for-index="idx" wx:for-item="x">{{idx}}-{{x}}view>
    5. view>
    6. <view>
    7. {{userInfo.name}}
    8. {{userInfo.age}}
    9. view>
    10. <view>
    11. <view wx:for="{{userInfo}}">{{index}}-{{item}}view>
    12. view>

    js

    1. Page({
    2. /**
    3. * 页面的初始数据
    4. */
    5. data: {
    6. dataList:["1","2","3"],
    7. userInfo:{
    8. name:"liming",
    9. age:"18"
    10. }
    11. },

     结果:

     总结:本文主要介绍了微信小程序跳转和数据绑定两方面的内容

  • 相关阅读:
    Java匿名内部类解析
    AnalysisView
    达梦数据库 视图 错误 [22003]: 数据溢出
    OpenCV图像特征提取学习五,HOG特征检测算法
    基于IPSec VPN隧道技术的国密加密网关保障电力工控数据安全
    MATLAB——极限学习机参考程序
    基于虚拟同步发电机控制的双机并联Simulink仿真模型
    基于Springboot实现漫画网站平台
    自动化网络图软件
    【负荷预测】基于双向LSTM模型进行电力需求预测(Matlab代码实现)
  • 原文地址:https://blog.csdn.net/weixin_43780415/article/details/133992962
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号