首页 > 编程语言 >微信小程序开发基础知识一

微信小程序开发基础知识一

时间:2023-09-04 10:04:02浏览次数:43  
标签:文件 绑定 微信 程序开发 程序 基础知识 js 页面

小程序和普通前端网页开发的区别

1、运行环境:微信小程序是在微信内部运行的,而普通前端网页是在浏览器中运行的。这意味着微信小程序必须依赖微信提供的运行时环境,而普通前端网页可以在不同的浏览器上运行。因此,微信小程序开发需要专门的开发工具和技术栈。

2、开发语言:微信小程序主要使用小程序开发框架,该框架使用的是类似于HTML、CSS和JavaScript的技术,但与普通前端网页开发使用的标准Web技术略有不同。微信小程序框架引入了一些特定的组件和API,用于与微信生态系统进行交互。

3、页面结构:微信小程序采用了自定义的组件和页面结构,与传统的HTML和CSS稍有不同。它使用WXML(WeiXin Markup Language)作为页面结构语言,WXSS(WeiXin Style Sheet)作为样式表语言,这些语言虽然与HTML和CSS相似,但具有一些不同的特性和语法规则。

4、调试和测试:微信小程序开发需要使用微信提供的开发工具进行调试和测试,而普通前端网页可以使用各种浏览器的开发者工具。微信小程序开发工具提供了模拟器和调试工具,以帮助开发者在微信环境中测试应用。

5、权限和限制:微信小程序受到一些限制和权限控制,开发者不能像在普通网页中那样自由地访问浏览器功能。微信小程序必须经过微信的审核才能发布,而普通前端网页可以在任何Web服务器上托管并立即访问。

微信小程序开发与普通前端网页开发在技术栈、环境和工具等方面存在差异,需要开发者熟悉微信小程序框架和规范,以便有效地创建和维护小程序应用。

核心区别

网页开发渲染线程和脚本线程是互斥的,这也是为什么长时间的脚本运行可能会导致页面失去响应,而在小程序中,二者是分开的,分别运行在不同的线程中。网页开发者可以使用到各种浏览器暴露出来的 DOM API,进行 DOM 选中和操作。而如上文所述,小程序的逻辑层和渲染层是分开的,逻辑层运行在 JSCore 中,并没有一个完整浏览器对象,因而缺少相关的DOM API和BOM API。这一区别导致了前端开发非常熟悉的一些库,例如 jQuery、 Zepto 等,在小程序中是无法运行的。同时 JSCore 的环境同 NodeJS 环境也是不尽相同,所以一些 NPM 的包在小程序中也是无法运行的。

微信小程序的代码构成主要包括以下几个关键部分

App 配置文件(app.json):

app.json 文件用于配置小程序的全局信息,如小程序的名称、图标、页面路径、窗口样式、网络超时时间等。这个文件必须位于小程序的根目录下。 页面文件(.wxml、.wxss、.js、.json):

微信小程序的页面由四个文件组成,分别是:

.wxml(Weixin Markup Language):用于定义页面的结构,类似于HTML。 .wxss(Weixin Style Sheet):用于定义页面的样式,类似于CSS。 .js:用于定义页面的逻辑,处理用户交互、数据请求等。 .json:用于配置页面的一些特殊选项,如页面标题、导航栏颜色等。

小程序逻辑:

在 .js 文件中,你可以编写小程序的逻辑代码,包括事件处理、数据处理、网络请求等。微信小程序使用的是JavaScript语言。

全局样式文件(app.wxss):

app.wxss 文件用于定义小程序全局的样式,会影响所有页面。这里可以定义一些全局的样式规则,如字体大小、颜色、通用的样式类等。 组件文件(.wxml、.wxss、.js、.json):

除了页面文件,小程序还支持自定义组件,组件也包括 .wxml、.wxss、.js 和 .json 四个文件,用于构建可复用的UI元素和逻辑。

小程序生命周期函数:

在 .js 文件中,你可以定义小程序的生命周期函数,例如 onLaunch(小程序初始化)、onShow(小程序显示时触发)、onHide(小程序隐藏时触发)等。这些函数可用于管理小程序的整个生命周期。

网络请求和API调用:

微信小程序提供了丰富的API用于实现各种功能,如网络请求、用户信息获取、地理位置等。你可以在 .js 文件中使用这些API来实现小程序的具体功能。

事件处理:

微信小程序支持事件处理,你可以在 .wxml 文件中为各种UI元素绑定事件,然后在 .js 文件中编写事件处理函数,以响应用户的操作。

小程序页面跳转:

通过特定的API,你可以实现小程序页面之间的跳转和传递数据,以构建多页面应用。 小程序云开发(可选):

微信小程序还支持云开发能力,允许你使用云数据库、云函数等云服务,以简化后端开发和数据管理。 总的来说,微信小程序的代码构成包括配置文件、页面文件、全局样式文件、组件文件、逻辑代码、生命周期函数、事件处理、API调用等多个部分,通过这些组成部分可以构建出一个完整的微信小程序应用。每个文件和功能都有其特定的作用和用途,协同工作以实现小程序的功能和交互。

小程序页面

微信客户端在打开小程序之前,会把整个小程序的代码包下载到本地。

紧接着通过 app.json 的 pages 字段就可以知道你当前小程序的所有页面路径:

{
  "pages":[
    "pages/index/index",
    "pages/logs/logs"
  ]
}

小程序启动之后,在 app.js 定义的 App 实例的 onLaunch 回调会被执行:

App({
  onLaunch: function () {
    // 小程序启动之后 触发
  }
})

每个页面对应的JS文件的大体内容就是:

Page({
  data: { // 参与页面渲染的数据
    logs: []
  },
  onl oad: function () {
    // 页面渲染后 执行
  }
})

Page 是一个页面构造器,这个构造器就生成了一个页面。在生成页面的时候,小程序框架会把 data 数据和 index.wxml 一起渲染出最终的结构,于是就得到了你看到的小程序的样子。

在渲染完界面之后,页面实例就会收到一个 onl oad 的回调,你可以在这个回调处理你的逻辑。

JSON文件在小程序代码中扮演静态配置的作用,在小程序运行之前就决定了小程序一些表现,需要注意的是小程序是无法在运行过程中去动态更新JSON 配置文件从而发生对应的变化的。

数据绑定

微信小程序的数据绑定是一种非常重要的机制,它允许你将数据与页面元素进行关联,使得页面的数据能够自动更新,并且可以通过用户的操作来改变数据。数据绑定主要通过两个方面来实现:双括号表达式和数据绑定事件。

双括号表达式:

在微信小程序的 .wxml 文件中,你可以使用双括号表达式将数据绑定到页面的元素上。例如,你可以在一个元素的属性中使用双括号来绑定数据,如下所示:

html Copy code <view>{{message}}</view> 这里的 message 是一个变量,它会根据变量的值来显示在 <view> 元素中。当 message 的值发生变化时,页面上相应的内容也会随之更新。

数据绑定事件:

除了将数据绑定到元素的属性上,你还可以使用数据绑定事件来实现用户与数据之间的交互。例如,你可以为一个按钮绑定一个点击事件,并在事件处理函数中修改相关的数据,然后数据绑定会自动更新页面。示例代码如下:

<button bindtap="changeMessage">Change Message</button>
<view>{{message}}</view>

在上面的例子中,当用户点击按钮时,会触发 changeMessage 事件处理函数,该函数可以通过修改 message 的值来改变页面上显示的文本。

数据绑定的实现:

在小程序的 .js 文件中,你需要定义一个数据对象,其中包括你想要绑定到页面的数据。例如:

Page({
  data: {
    message: 'Hello, World!'
  },
  changeMessage: function() {
    this.setData({
      message: 'Data binding is awesome!'
    })
  }
})

在上述代码中,data 对象中包含了一个名为 message 的数据项,并在 changeMessage 函数中使用 setData 方法来修改 message 的值。一旦数据发生变化,与之相关联的页面元素就会自动更新。

数据绑定是微信小程序的一个强大功能,它使得页面的数据管理变得更加方便和实时,同时也提供了更好的用户交互体验。通过合理使用数据绑定,你可以更容易地开发出具有动态性的小程序应用。

标签:文件,绑定,微信,程序开发,程序,基础知识,js,页面
From: https://blog.51cto.com/u_15777557/7345897

相关文章

  • 面向对象基础知识
    面向对象思想与方法:面向对象思想是一种软件开发的思维方式,它将现实世界中的事物抽象成对象,并通过对象之间的交互来实现系统的功能。面向对象思想有以下几个核心概念:类(Class):类是对象的模板,描述了对象的属性和行为。例如,我们可以定义一个名为"Person"的类,用于表示人的属性(如姓名、年......
  • 基于微信小程序的图书馆座位预约系统设计与实现-计算机毕业设计源码+LW文档
    选题意义: 该系统可以监测到图书馆座位的使用情况,便于学生查询图书馆的分布、座位多少、是否空闲等基本数据。学生可以通过手机或者计算机等终端进行座位预约,方便快捷。对于占座现象,学生可以通过系统进行反馈,方便图书馆管理人员及时处理。基于微信小程序的图书馆座位预约系统的使......
  • 微信小程序开发部署发布流程
    微信小程序开发部署发布流程最近因为有比赛,所以在进行敏捷小程序开发,由于我比较菜,不会JS原生,所以选择了符合技术栈的技术路线。MPFlutter框架+dart语言的开发。这样就可以符合“同时产出小程序与APP”的需求。1.微信小程序申请微信公众平台(qq.com)进行申请,注册,认证。按照......
  • 小程序快速备案助手代备案小程序开发
    小程序快速备案助手代备案小程序开发用户注册与登录:用户可以通过手机号或其他方式进行注册和登录,以便进行备案相关操作。备案信息填写:用户可以填写小程序的备案信息,包括小程序名称、小程序服务类目、域名等。备案材料上传:用户可以上传备案所需的材料,如营业执照、身份证等。备案进度......
  • MySQL基础篇:掌握数据表操作的基础知识
    表(table)是一种结构化的文件,可以用来存储特定类型的数据,如:学生信息,课程信息,都可以放到表中。另外表都有特定的名称,而且不能重复。表中具有几个概念:列、行、主键。列叫做字段(Column),行叫做表中的记录,每一个字段都有:字段名称/字段数据类型/字段约束/字段长度创建表在MySQL中,......
  • 基于微信小程序的校园失物招领系统-计算机毕业设计源码+LW文档
    摘 要随着互联网技术的发发展,计算机技术广泛应用在人们的生活中,逐渐成为日常工作、生活不可或缺的工具。在高校,各种管理系统层出不穷,为校园失物招领管理开发必要的系统,能够有效的提升管理效率。一直以来,校园失物招领一直没有进行系统化的管理,学生无法快速找到失物,由此提出开发基......
  • H5 及 web 页面微信授权登录流程
    https://blog.csdn.net/joe0235/article/details/115935515一、事先准备工作配置参数测试公众平台信息(测试号相关配置示例):1、打开公众平台的测试账号2、配置js接口安全域名3、扫码关注测试公众号4、修改网页授权地址配置授权回调的域名,至于什么是OAuth2.0,大家自行百度吧。这......
  • 揭秘微信过期文件找回:如何轻松找回已过期的珍贵信息
    由于微信的“天才设计”,所以对于微信中的文件而言,只有7天的寿命。但是,微信清理的只是缓存信息,真正的文件、图片或者视频还是保留在你的微信中的,简单操作即可找回!那么,微信显示文件已过期或者被清理怎么找回呢?其实方法不难,下面带大家详细地了解一下操作步骤,每个人都可以学会。1.......
  • 一、微信小程序(基础)
    微信小程序生命周期app.js内置方法与全局方法,内置方法都放在wx命名空间下,可以通过wx.来调用wxml基本概念wxml是模仿html创建出来的一种文件格式,html可以被浏览器识别,而wxml封装后的组件是不能被浏览器识别的,例如一些web端框架就不适用于操作wxml组件了wxml共有属性:id,clas......
  • C#半自动操作微信
    引言上个月,在一个群里摸鱼划水空度日,看到了一个老哥分享的一个微信自动化的一个类库,便下载了他的Demo,其本意就是模拟鼠标来操作UI,实现UI自动化;然后自己在瞎琢磨研究,写了一个简单的例子,用来获取好友列表,获取聊天列表,以及最后一次接收或者发送消息的时间,以及最后一次聊天......