正在学习微信小程序开发,参考查找的博客资料,官方文档整理一些可能用到的基本知识和要注意的问题,下面都是本人亲自测试可以实现的,如果有什么问题,请指出来或者参考下原文。
一.控件初步使用 参考 控件基本使用
1.按钮与事件点击
a.放置一个按钮,通过bindtap绑定事件btnClick,{{ }}里面的是从js中获取的按钮内容
b.在js文件的data中写下面的内容,初始化界面数据
data: {
btnText:'按钮初始内容', //按钮初始化内容,另外两个其他地方使用
isTextshow:true,
news:['aaa','bbb','ccc'],
},
c.编写按钮点击回调函数,写完后编译运行,在点击按钮时,按钮内容改变
btnClick:function(){
this.setData({ btnText:'点击后的内容'})
}
2.列表显示数组内容
a.通过下面的代码,就可以将js文件中写的初始化数据news内容显示出来,news代表数组名字,newsItem代表每个参数的别名
{{index}}: {{newsItem}}
3.页面加入头部和底部 参考 -> 小程序引入公共页面几种情况
(1).普通引入
a.在pages文件夹添加一个template文件夹,新建一个header.wxml文件加入代码
header
b.在需要引入的文件中添加下面的代码引入,第二行中的header需要和头部文件中的name值一样,记得后面的反斜杠,不然会报错
(2).需要给引入的文件传参数的情况
a.下面是需要引入的文件内容
This is template.wxml文件,我是一个模板
{{index}}: {{msg1}}
{{msg2}}
b.引入文件并传参
(3).列表item模版,根据参数不同调用不同模版(循环引用,并且添加判断条件)
a.首先在js文件中数据源data中加入list数组
data: {
list:[
{ name: '张三', age: 15 },
{ name: '李四', age: 25 },
{ name: '王五', age: 18 },
{ name: '赵六', age: 19 },
]
}
b.在模版文件中写入下面代码
name: {{name}}
age: {{age}}
name: {{name}}
age: {{age}}
我是一个未成年
c.循环引用模版
4.为模版引入样式文件
a.在引入模版文件的文件夹中的wxss文件中添加下面代码,为模版引入样式文件
@import "/pages/template/footer.wxss";
二.事件触发
1.点击事件冒泡 参考文章
a.可以通过
b.使用下面的方式接收触发事件,但是父级通过同样的方式绑定事件时父级事件也会触发
view1click : function(event){
console.log("view1click")
console.log(event)
},
c.防止事件冒泡的方式就是把 bindtap 关键字换成 catchtap
d.在event对象中,包含了传递过来控件的信息,可以根据这些做业务逻辑判断
三.几种传参方式 这里是原文
1.添加点击事件,js用navigateTo跳转传参
a.在js回调函数中使用下面的方式跳转
wx.navigateTo({
url: '../index/index?id=1&name=aaa',
})
b.在跳转后的index页面对应的js文件onLoad方法中获取
onLoad: function (options) {
var id = options.id //获取值
},
2.全局变量
a.在app.js全局变量中添加添加要传的参数
globalData:{
id:null
}
b.在点击后的毁掉函数中,跳转前赋值
var app = getApp();
app.globalData.id = 2
c.在跳转后页面的js文件onLoad方法中获取
var app = getApp();
var id = app.globalData.id
3.列表index下标取值
a.wxml页面,如果需要传递多个,可以写多个data-[参数]的方式进行传递
b.js代码,通过wxml设置data-[参数名]传递参数,[参数名]只能是小写
clickMe:function(e){
var id = e.currentTarget.dataset.id
console.log(id);
},