JS交互逻辑——获取页面数据{{}}和全局数据const app = getApp()

article/2025/9/15 20:29:12

JS交互逻辑

在小程序里边,我们就通过编写 JS 脚本文件来处理用户的操作

  • app.js中最外层需要App({}) ,该函数是微信平台提供的api
App({// 全局数据,可以在所有的子页面中使用mydata: {n: 100}
})
// 页面获取全局数据的方式,app表示小程序的实例对象
const app = getApp()
  • page.js中最外层需要Page({}),该函数是微信平台提供的api
Page({// 页面数据,用于提供给页面的模板data: {msg: 'hello'}
})
// 页面获取data中的数据
<view>{{msg}}</view>

实例如下:

1、获取页面数据

第一步:在pages文件夹下新建demo文件夹,其下新建pages文件index,

index.js初始化文件结构

// pages/leyuan/index.js
Page({/*** 页面的初始数据*/data: {msg: 'nihao',},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {},/*** 生命周期函数--监听页面初次渲染完成*/onReady: function () {},/*** 生命周期函数--监听页面显示*/onShow: function () {},/*** 生命周期函数--监听页面隐藏*/onHide: function () {},/*** 生命周期函数--监听页面卸载*/onUnload: function () {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh: function () {},/*** 页面上拉触底事件的处理函数*/onReachBottom: function () {},/*** 用户点击右上角分享*/onShareAppMessage: function () {}
})

第二步:在index.js中的data里面,写入数据msg: 'nihao',

第三步:在index.wxml中进行渲染,代码如下

<!-- 数据绑定 -->
<view>{{msg}}</view>

显示如下:

在这里插入图片描述

2、获取全局数据

第一步:在utils文件夹下的app.js初始化文件

//app.js
App({onLaunch: function () {// 展示本地存储能力var logs = wx.getStorageSync('logs') || []logs.unshift(Date.now())wx.setStorageSync('logs', logs)// 登录wx.login({success: res => {// 发送 res.code 到后台换取 openId, sessionKey, unionId}})// 获取用户信息wx.getSetting({success: res => {if (res.authSetting['scope.userInfo']) {// 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框wx.getUserInfo({success: res => {// 可以将 res 发送给后台解码出 unionIdthis.globalData.userInfo = res.userInfo// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回// 所以此处加入 callback 以防止这种情况if (this.userInfoReadyCallback) {this.userInfoReadyCallback(res)}}})}}})},globalData: {userInfo: null},testData: {info: 'hello'}
})

第二步:在utils文件夹下的app.js中App({})方法里定义全局数据,写入数据

 testData: {info: 'hello'}

第三步:在index.js中调用数据

// app表示小程序实例对象,内置的方法
const app = getApp()data: {msg: 'nihao',info: app.testData.info,}

第四步:在index.wxml中进行渲染,代码如下

<view>{{info}}</view>

显示如下:

在这里插入图片描述

js交互基础

  • 做小程序页面

    • 模板 .wxml(HTML)

      • 标签名称不同,标签的属性也不同
    • 样式 .wxsss(CSS)

      • 选择器支持有限
      • 引入了一个新的尺寸单位rpx
    • js交互逻辑

      • 全局入口js文件app.js
    • App函数名称是固定的,属于小程序API的一部分

      • 如果在页面中获取全局数据?
        • 通过getApp()得到小程序实例对象,进而获取全局数据
        • const app = getApp()
      App({// 全局生命周期函数// 全局数据
      })
      
      • 页面js文件 page.js
        • Page函数名称也是固定的,属于小程序API的一部分
        • 页面模板数据需要data属性进行提供
      Page({// 页面生命周期函数// 页面需要的数据// 事件处理函数
      })
      
      • js工具函数单独放到js模块中
        • utils
          • JS模块化
            • CommonJS
              page.js
        • Page函数名称也是固定的,属于小程序API的一部分
        • 页面模板数据需要data属性进行提供
      Page({// 页面生命周期函数// 页面需要的数据// 事件处理函数
      })
      
      • js工具函数单独放到js模块中
        • utils
          • JS模块化
            • CommonJS
            • ES6的模块化

实例:

在utils文件夹下的util.js文件里面,

定义方法函数const=formatTime,在下方进行导出

// CommonJS模块化导出
module.exports = {formatTime: formatTime
}

在所需页面logs对应的js文件logs.js里面进行模块化导入

//logs.js
// CommonJS模块化导入
const util = require('../../utils/util.js')

http://chatgpt.dhexx.cn/article/Q6TNwMWs.shtml

相关文章

微信小程序getApp().globalData.user无法获取值

一、debug过程 在进行微信小程序的开发过程中&#xff0c;我利用如下代码获取全局变量中的username的值&#xff0c;但其结果缺如图中所示的只向数据库中存入了对应的类型即object Object。 username: getApp().globalData.user.username, 数据库结果 其中&#xff0c;全局变量…

微信小程序const app=getApp()的作用,实现page页面获取全局数据

app.js的作用 app.js是整个小程序项目的入口文件&#xff0c; 如果小程序要运行&#xff0c;第一个被执行的文件就是app.js&#xff0c;第一个被执行的代码是app.js中的onLaunch方法 在app.js中可以书写小程序的全局业务逻辑 在app.js里面&#xff0c;写上一些需要的东西&am…

uniapp中的getApp().globalDate.

获取全局变量&#xff1a; getApp().globalDate1.uni-app 在app.vue文件export default里面定义globalData&#xff0c;在其他文件则用getApp&#xff08;&#xff09;.globalData获取 2.在当前文件&#xff08;app.vue&#xff09;里面获取globalData需要用this.$options.glob…

解释微信小程序const app=getApp()的作用

const appgetApp()用来获取全局变量 const appgetApp()这就话通常在pages下的页面的js中写 来调用app.js中的globalData{} 直白一点说就是在app.js的globalData{}里写的东西 在其他页面的js的onshow中可以直接调用 例&#xff1a;

微信小程序 app=getApp()公共变量在页面间传值技巧。

1.公共变量 在开发过程中&#xff0c;避免不了会使用公共变量&#xff0c;记录共享对象状态、数据最简单的方式就是创建创建公共变量&#xff1b; 当业务逻辑变多&#xff0c;还采用这种思想就会变得危险&#xff0c;代码逻辑变得不清晰&#xff0c;慢慢就有一种代码坏味道。 …

【uniapp】uniapp的globalData以及getApp():

文章目录 一、说明文档&#xff1a;二、使用&#xff1a; 一、说明文档&#xff1a; 【官方文档】https://uniapp.dcloud.net.cn/collocation/App.html#globaldata 二、使用&#xff1a;

getapp.php,getApp.php

下载RiseClub $iosUrl https://itunes.apple.com/cn/app/riseclub/id869364498?lzh&mt8; $yingyongbao http://a.app.qq.com/o/simple.jsp?pkgnamecom.rusi.club&g_f994302; $androidUrl http://club.risecenter.com/riseclub.v1.1.2.apk; if(isset($_GET[go2Andr…

微信小程序App()方法与getApp()方法

微信小程序App()方法与getApp()方法 二者含义: App()有以下作用&#xff1a; 注册一个小程序小程序的入口方法 getApp()主要用于获取全局对象&#xff0c;然后进行全局变量和全局方法的使用 例如&#xff1a; app.js 中的 App() App({onLaunch: function(options) {cons…

《算法导论》+第四版++答案

在有关算法的书中&#xff0c;有一些叙述非常严谨&#xff0c;但不够全面&#xff1b;另一些涉及了大量的题材&#xff0c;但又缺乏严谨性。本书将严谨性和全面性融为一体&#xff0c;深入讨论各类算法&#xff0c;并着力使这些算法的设计和分析能为各个层次的读者接受。全书各…

《算法》第四版官网库及数据文件

《算法》第四版官网库及数据文件分享 最近购买了《算法》这本书&#xff0c;本来想着只是看看的&#xff0c;但是觉得还是想写写书上的代码&#xff0c;结果发现这本书自己用了一个库来实现书上的代码&#xff0c;于是我去下载这个库以及测试数据的文件。但是过程意外的艰辛&a…

算法第四版课后习题答案 西安电子科技大学 计算机学院 算法课

来源于西电计算机15级学长学姐&#xff0c;算法第四版课后习题答案 西安电子科技大学 计算机学院 算法课。 再推荐一个好的看答案的地方&#xff0c;每一题都有&#xff0c;只是还没有更新完成。 地址&#xff1a;https://alg4.ikesnowy.com 顺便说一句&#xff0c;16级算法…

IntelliJ IDEA搭建算法第四版的环境(导入algs4.jar)

前言&#xff1a; 注意&#xff01;&#xff01;algs4.jar不仅要在idea项目中导入&#xff0c;还需要在环境变量CLASSPATH中添加algs4.jar的路径&#xff01;&#xff01;&#xff01; 1、path路径的添加&#xff1a; 环境变量的打开方法&#xff1a;我的电脑—>&#xff0…

初学算法该直接上《算法导论》 还是先看完 《算法 第四版》?

点击上方蓝字设为星标 下面开始今天的学习&#xff5e; 答案是都不是&#xff0c;我建议你按照如下的系列进行学习。 入门系列 入门的同学&#xff0c;我建议你不要过度追求上去就看经典书。 不要一来就拿着《算法导论》开始啃&#xff0c;初学就去啃这些书肯定会很费劲。你一旦…

网上一些《算法(第四版)》习题答案链接

jimmysuncpt/Algorithms aistrate/AlgorithmsSedgewick

《算法第四版》环境搭建

博主用的是Eclipse。配置Java开发环境就省略了&#xff0c;下面主要说怎么在Eclipse中使用书本自带的库。 1.下载algs4.jar 点击下面的链接下载algs4.jar http://algs4.cs.princeton.edu/code/algs4.jar 2.配置环境 首先&#xff0c;将下载好的库放到自己喜欢的一个目录下…

算法第四版 官方库的导入

下载好官方的两个文件。 ①关于algs.jar的导入 1.打开referenced Library&#xff0c;将algs4.jar导入 附&#xff1a;具体操作 右击项目&#xff0c;打开properties。如图依次操作&#xff0c;最后选择好文件的位置即可。 官方提供的标准库的导入就完成了。 2.在自己写的程…

算法第四版 课后习题答案

如果你是与JAVA相关方向的,可以看看这篇文章,相信对你会有所帮助: 点击打开链接 算法&#xff08;第四版&#xff09; 第12次印刷 感觉我真的是良心博主。。。。 注意&#xff01;&#xff01;&#xff01; &#xff1a;书上的过程图有些是比较坑的&#xff08;非错误问题&am…

《算法》第四版入门准备

刚看完CPrimer&#xff0c;再开始看《算法》第四版。 《算法》第四版用的是JAVA&#xff0c;第一次接触&#xff0c;花了一天时间在配置环境上&#xff0c;浪费了时间。 废话少说&#xff0c;介绍一下拿到《算法》这本书后要做的事情。 首先&#xff0c;去看官网的教程&…

算法第四版习题解答(1.3 Bags, Queues, adn Stacks)

前言 使用的是《算法》第四版英文版&#xff0c;主要是习题解答。 书中jar包的导入请戳&#xff1a;算法&#xff08;第四版&#xff09;中algs4.jar下载和使用 EXERCISES 1.3.1 public class FixedCapacityStackOfStrings {private String[] a; // stack entriespriv…

授人以渔:分享我的算法学习经验

前言 看到知乎上有很多人提问“怎么学习算法”&#xff1f;对于这个问题&#xff0c;我想我是非常有资格回答的&#xff0c;因为我不是计算机科班出身&#xff0c;工作几年后通过自学&#xff0c;不仅转行做了推荐算法&#xff0c;而且我的算法水平无论是在公司内部还是在网络上…