小程序基础知识梳理

微信开发者工具中新建项目

教程:https://blog.csdn.net/michael_ouyang/article/details/54923784

C:\Users\Administrator\WeChatProjects\miniprogram-1

 1.将test 页面加入 app.json

打开全局文件 app.json,在文件里面添加 "pages/test/test"(加入一条 test 页面所在的目录 )

2.全局对象获取

在app.js页面中有一个globalData,这是一个全局对象。添加一个属性 info:"你好"

情况一:在非app.js文件的其他js文件中获取

通过getApp()获取全局的实例,就可以获取到全局对象内的资源

在index.wxml文件添加一个button

getApp()获取全局的对象后,就可以获取到app.js的全局属性

app.globalData.info

情况二:在当前app.js文件获取(F5刷新运行项目):

在当前文件中获取的话,只需要使用this代表当前对象来获取就可以了

6.跳转

wx.navigateTo()和wx.redirectTo()的区别:

wx.navigateTo()是保留当前页面,跳转到某个页面,跳转页面后可以返回上一页。

wx.redirectTo()是关闭当前页面,跳转到某个页面,跳转页面后不能返回上一页。

方法一:index.wxml:

在index.wxml新建一个button组件,并使用bindtap事件绑定一个函数

index.js:在index.js中的Page函数内部,添加changeToTest 函数,函数里面使用wx.navigateTo,写上需要跳转的页面,里面传入的是一个对象,对象内使用url属性,对应的就是需要跳转的页面的路径(注意:这是接收的是一个相对路径,并且页面不需要使用.wxml后缀)

方法二:
使用API  wx.redirectTo()函数(按钮同上)

方法三:
使用组件  <navigator>

跳转传参

以wx.navigateTo为例:

上面讲述,wx.navigateTo传入的url是跳转的页面(使用相对路径)

wx.navigateTo({

url:"pages/home/home"

});

那么参数传递至下一页面,则只需要在路径后面,添加?问号,?后面接的是参数,以key-value的方式。

这里传了个value为2的参数

wx.navigateTo({

url:"pages/home/home?type=2"

});

然后在home.js中的onLoad()函数中得到值:option.type就可以得到了,如下:

onLoad: function (option) {

this.setData({

type:option.type,

});

console.log(option.type);

}

7.标题栏导航栏

标题栏window
在app.json文件里面,通过window对象里面的属性进行设置

示例:
app.json:

导航

导航栏TabBar

如果我们的小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),那么我们可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。

Tip: 通过页面跳转(wx.navigateTo)或者页面重定向(wx.redirectTo)所到达的页面,即使它是定义在 tabBar 配置中的页面,也不会显示底部的 tab 栏。

tabBar 是一个数组,只能配置最少2个、最多5个 tab,tab 按数组的顺序排序。

8.作用域和模块化 

文件作用域

在 JavaScript 文件中声明的变量和函数只在该文件中有效;不同的文件中可以声明相同名字的变量和函数,不会互相影响。

示例:

通过全局函数 getApp() 可以获取全局的应用实例,如果需要全局的数据可以在 App() 中设置,如:

/* app.js */

App({

globalData: 1

})

/* a.js */

// 这是局部变量localValue

var localValue = ‘a‘

// 获取app.js的实例

var app = getApp()

// 通过app的示例来操作全局的变量

app.globalData++

/* b.js */

// 在不同的文件中可以重复定义localValue这个变量

var localValue = ‘b‘

// 如果a.js文件先执行,那么b.js获取到的就是a.js执行过的变量数值

console.log(getApp().globalData)

模块化(require()中传入的是一个js文件的相对路径)

我们可以将一些公共的代码抽离成为一个单独的 js 文件,作为一个模块。模块只有通过 module.exports 或者 exports 才能对外暴露接口。示例:

/* common.js */

function sayHello(name) {

console.log(`Hello ${name} !`)

}

module.exports = { sayHello : sayHello}

在需要使用这些模块的文件中,使用 require(path) 将公共代码引入

/* a.js */

var common = require(‘common.js‘)

Page({

helloMINA: function() {

common.sayHello(‘MINA‘)

}

})

9.数据绑定

{{}}

 

10. 条件渲染(wx:ifwx:for必须分开使用)

<block wx:if="{{boolean==true}}">

<block wx:for="{{arr}}">

<view class="bg_black">内容:{{item}}</view>

</block>

</block>

<block wx:elif="{{boolean==false}}">

<view class="bg_red">无内容</view>

</block>

  1. 列表渲染
  1. 模板,引用

 

  1. 选择器

样式导入
用@import语句可以导入外联样式表,@import后跟需要导入的外联样式表的相对路径,用;表示语句结束。

页面的顶层是节点,所以作用于整个页面的样式或修改顶层节点样式请使用page选择器。
小程序目前不支持Media Query。

原文地址:https://www.cnblogs.com/benbenjia/p/12050569.html

时间: 2024-10-10 00:08:26

小程序基础知识梳理的相关文章

微信小程序基础知识

一.文件结构 小程序包含一个描述整体程序的 app 和多个描述各自页面的 page app.js,app.json,app.wxss js,wxml,wxss,json app.json文件用来对微信小程序进行全局配置,决定页面文件的路径,窗口表现,设置网络超时时间,设置多tab等 { "pages": [ "pages/index/index", "pages/logs/index" ], "window": { "

小程序基础知识

openID:不同APP不同openID.用户唯一标识,跟人一一对应,小程序分配给每个人的ID OpenID = 用户微信号 & 公众平台APPID(两个数据加密得到的字符串)unionID:即使不同应用,ID一样.appID(小程序ID):它其实就是小程序的「身份证号码」.AppSecret(小程序密钥) session_key: 校验用户信息(wx.getUserInfo(OBJECT)返回的signature); 解密(wx.getUserInfo(OBJECT)返回的encryptedD

[SQL] SQL 基础知识梳理(一)- 数据库与 SQL

SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 序 目录 What's 数据库 数据库结构 SQL 概要 创建表 删除和更新表 1-1 What's 数据库 1.数据库(Database,DB):将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合.如:大型-银行存储的信息,小型-电话簿. 2.数据库管理系统(Batabase Management Syste

Java基础知识梳理《一》

一.Java数据类型(简单称之为“四类八种”) java 基本的数据类型长度都是固定的,好处是在实现跨平台时就统一了. 1.整型 byte short int long (分别是1,2,4,8个字节) 类型 存储需求 位数 取值范围 byte 1字节 8位 -128~127 short 2字节 16位 -2^15 ~2^15-1 int 4字节 32位 -2^31~2^31-1 long 8字节 64位 -2^63~2^63-1 当超出int表示范围时,应该使用long型,添加后缀一大写的L 注

Js基础知识梳理系列

小序:总是感觉自己的技术一直在原地踏步,想学习一些新的技术,但学起来很吃力,而且总是没有什么实际的收获,似乎进入了所谓的“瓶颈期”.问了一些前辈是否也遇到过同样的问题,他们给我的解决方案是,基础不稳固,再把基础巩固一下.然后学起新的技术会轻松一点点.也是,反思自己曾经走马观花式的学习,确实有很多细腻的技术点没有接触到,所以,我还没有做到大神眼里的“精”.抱着这样的目的,再次翻开<JavaScript高级编程设计>,我将按照着书上的内容和顺序,系统化的学习这本书中的知识.并且在学习的过程中会结合

JavaScript基础知识梳理--数组

JavaScript基础知识梳理--数组 1.创建方法 空数组:var obj=new Array(); 指定长度数组: var obj=new Array( size ); 指定元素数组 :  var obj=new Array( 元素1,元素2,....): 单位数组:var obj=new Array[ 元素1,元素2,元素3,...,元素N]; 多维数组:var a=new Array( [数组1],[数组2],[数组3],...,[数组N] ); 2.基本操作 存取数组元素: 单维数组

[SQL] SQL 基础知识梳理(四) - 数据更新

SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 目录 一.插入数据 1.INSERT 语句的基本语法 --语法: --INSERT INTO <表名>(列1, 列2, ...) VALUES (值1, 值2, ...) INSERT INTO dbo.Shohin ( shohin_id , shohin_mei , shohin_bunrui , hanbai_tanka , s

.NET教程:微信小程序基础入门

.NET教程:微信小程序基础入门 准备 Demo 项目地址 (https://github.com/zce/weapp-demo) Clone or Download(需准备GIT环境) $ cd path/to/project/root $ git clone https://github.com/zce/weapp-demo.git project-name --depth 1 $ cd project-name 没有git环境,可以直接下载 (https://github.com/zce/

[SQL] SQL 基础知识梳理(三)- 聚合和排序

SQL 基础知识梳理(三)- 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 目录 一.对表进行聚合查询 1.聚合函数 (1)5 个常用函数: ①COUNT:计算表中的记录(行)数. ②SUM:计算表中数值列的数据合计值. ③AVG:计算表中数值列的数据平均值. ④MAX:求出表中任意列中数据的最大值. ⑤MIN:求出表中任意列中数据的最小值. (2)聚合:将多行汇总成一行. 图1-1 Shohin 表 2.计算