微信小程序简单教程4
二十七 第二个模块
暂定为txt图书阅读
下载图书文件txt全集
二十八 获取txt文件名称
批处理文件为:
@echo off
for /f "delims=" %%i in ('dir /s/a-d /b *.txt') do echo %%~ni>>JustName.txt
start JustName.txt
pause
二十九 上传至fastadmin的public目录
txt文件上传至fastadmin对应目录
静态文件在fastadmin的根目录下的public文件里
新建file/medic_book文件夹
访问路径为
https://admin.huchangyi.com/file/medic_book/030-本草纲目别名录.txt
三十 微信小程序新建跳转页面
新建列表页面和文档展示页面
微信小游戏原生的跳转
wx.redirectTo
关闭当前页面,跳转到应用内的某个页面,但是不允许跳转到tabBar页面。
两个页面之间平级的跳转,不存在父子的关系。跳到第二个页面时,右上角没有返回按钮。
页面调走后会调用onUnload方法,第一个页面被关闭和卸载。
wx.navigateTo
保留当前页面,跳转到应用内的某个页面,但是不能跳到tabBar页面。
使用wx.navigateBack可以返回到原页面。
小程序页面栈最多十层。
两个页面之间的跳转是父页面跳子页面,跳到第二个页面时,左上角有返回按钮。
页面调走后会调用onHide方法,第一个页面并没有被关闭,只是被隐藏起来了。
wx.switchTab
跳转到tabBar页面,并关闭其他页面。
wx.reLaunch
关闭所有页面,打开到应用内的某个页面,左上角没有返回按钮。
三十一 父页面的跳转和传参
<view bindtap="goUrl" class="weui-cells__title">{{book1}}</view>
goUrl: function(e) {
//console.log(e.currentTarget.dataset.book1);
//var t = "/pages/medic_book/read";
var book_name = this.data.book1;
//跳转非tab页
wx.navigateTo({
url: '/pages/medic_book/read',
events: {
// 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
acceptDataFromOpenedPage: function(data) {
//console.log(data)
},
someEvent: function(data) {
//console.log(data)
}
},
success: function(res) {
// 通过 eventChannel 向被打开页面传送数据
res.eventChannel.emit('acceptDataFromOpenerPage', { data: book_name })
}
});
},
三十二 子页面的获取参数
onLoad: function(option){
console.log(option.query)
const eventChannel = this.getOpenerEventChannel()
eventChannel.emit('acceptDataFromOpenedPage', {data: 'test'});
eventChannel.emit('someEvent', {data: 'test'});
// 监听 acceptDataFromOpenerPage 事件,获取上一页面通过 eventChannel 传送到当前页面的数据
eventChannel.on('acceptDataFromOpenerPage', function(data) {
console.log(data)
})
},
三十三 解决问题eventChannel.on()内无法调用自己的方法或者this.SetData()
这是this指向不对的问题。
三个方法。
第一 let that = this 写在你的这个on监听之外。
第二个 写成箭头函数eventChannel.on(‘questions’, (data) => {console.log(this.)})
第三个 看下是否可以 bind(this)
改变this指针,有三种方法
评论已关闭