【微信小程序】逻辑层代码

注册小程序app.js

每个小程序都需要在 app.js 中调用 App 方法注册小程序示例,绑定生命周期回调函数、错误监听和页面不存在监听函数等。

// app.js
App({
  onLaunch (options) {
    // Do something initial when launch.
  },
...
  globalData: 'I am global data'
})

整个小程序只有一个 App 实例,是全部页面共享的。开发者可以通过 getApp 方法获取到全局唯一的 App 示例,获取App上的数据或调用开发者注册在 App 上的函数。

// xxx.js
const appInstance = getApp()
console.log(appInstance.globalData) // I am global data

App参数

在这里插入图片描述

注册页面page.js

  • Page()定义在页面的js文件中,Page() 函数用来注册一个页面。
  • Page()函数接受一个 object 参数,其指定页面的初始数据、生命周期函数、事件处理函数等。
    object参数为
    在这里插入图片描述
    在这里插入图片描述

data初始化数据属性:

初始化数据将作为页面的第一次渲染。data 将会以 JSON 的形式由逻辑层传至渲染层,所以其数据必须是可以转成 JSON 的格式:字符串,数字,布尔值,对象,数组。

  • 说明:data属性里面传入对象用于绑定数据,在视图层显示。如:
Page({
	 data: { 
		text: 'init data',
		 array: [{msg: '1'}, {msg: '2'}] 
	} 
}) 	

视图层绑定显示数据
通过{{ }}语法,例:

<view>{{text}}</view> 
<view>{{array[0].msg}}</view> 	

Page中添加事件处理函数

除了初始化数据和生命周期函数,Page 中还可以定义一些特殊的函数:事件处理函数,也就是自定义方法。在渲染层可以在组件中加入事件绑定,当达到触发事件时,就会执行 Page 中定义的事件处理函数。示例代码:

<view bindtap="viewTap"> click me </view> 
Page({ 
	viewTap: function() { 
		console.log('view tap')
	}
) 

setData()

setData()将数据从逻辑层发送到视图层,同时改变对应的 this.data 的值。

注意:

1.直接修改 this.data 无效,无法改变页面的状态,还会造成数据不一致。
2.单次设置的数据不能超过1024kB,请尽量避免一次设置过多的数据。
不能通过this.data = {text : “hello”}这样来改变

viewTap: function() {
 this.setData({
	text: 'Set some data for updating view.' 
})
} 
发布了182 篇原创文章 · 获赞 33 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42554191/article/details/104025054