窗口配置其实在微信官方文档的小程序里面有详细的全局配置,最常用的就是路由,底部导航tabbar,导航栏的文本,背景颜色,窗口的背景色等,下面附上图片
在app.json中配置 效果图
每个页面都是由四个文件组成:分别为wxml(相当于html文件),js、wxss(相当于css文件)、json, 作用: wxml 相当于html文件,就是用来写也页面的内容 js 相当于script内写的内容,用来写页面的功能效果 wxss相当于css文件,主要是用来设置页面的样式 json主要用来配置路由,以及页面的基础配置,如果要用到UI组件,引入就引入在json文件中
每个小程序都需要在 app.js 中调用 App 方法注册小程序实例,绑定生命周期回调函数、错误监听和页面不存在监听函数等。
// app.js App({ onLaunch (options) {//生命周期函数–监听小程序初始化(当小程序初始化完成时,会触发 onLaunch(全局只触发一次)。) // Do something initial when launch. }, onShow (options) {//生命周期函数–监听小程序显示(当小程序启动,或从后台进入前台显示,会触发 onShow) // Do something when show. }, onHide () {//生命周期函数–监听小程序隐藏(当小程序从前台进入后台,会触发 onHide) // Do something when hide. }, onError (msg) {//错误监听函数(当小程序发生脚本错误,或者 api 调用失败时,会触发 onError 并带上错误信息) console.log(msg) }, globalData: 'I am global data'// globalName是数据,这里面的函数和数据都是全局的。 })对于小程序中的每个页面,都需要在页面对应的 js 文件中进行注册,指定页面的初始数据、生命周期回调、事件处理函数等。
简单的页面可以使用 Page() 进行构造:
//index.js Page({ data: { text: "This is page data." }, onLoad: function(options) { // 页面创建时执行 }, onShow: function() { // 页面出现在前台时执行 }, onReady: function() { // 页面首次渲染完毕时执行 }, onHide: function() { // 页面从前台变为后台时执行 }, onUnload: function() { // 页面销毁时执行 }, onPullDownRefresh: function() { // 触发下拉刷新时执行 }, onReachBottom: function() { // 页面触底时执行 }, onShareAppMessage: function () { // 页面被用户分享时执行 }, onPageScroll: function() { // 页面滚动时执行 }, onResize: function() { // 页面尺寸变化时执行 }, onTabItemTap(item) { // tab 点击时执行 console.log(item.index) console.log(item.pagePath) console.log(item.text) }, // 事件响应函数 viewTap: function() { this.setData({ text: 'Set some data for updating view.' }, function() { // this is setData callback }) }, // 自由数据 customData: { hi: 'MINA' } })env.js代码如下
//设置公共访问的url,即环境变量 module.exports = { // 开发环境 dev: { baseUrl: 'http://localhost:3000' }, // 测试环境 test: { baseUrl: 'www.test.com' }, // 线上环境 prod: { baseUrl: 'https://api.it120.cc' } }如:发送给跳转页面
wx.navigateTo({ url: '../detail/detail?id=1' })它会log出id
配置路由:在app.json中配置,代码如下
"pages":[ "pages/home/home", "pages/classify/classify", "pages/shopcar/Shopcar", "pages/mine/Mine", "pages/index/index", "pages/logs/logs", "pages/home/homedetail/ShopDetail", "pages/login/login" ],其实可以直接配置路由,它就会根据你设置的路由,自动生成相对应的文件
点击获取参数,就是在点击事件中获取参数,比如要获取id,代码如下注意data-id:
//shop.wxml //用data-id传递id <view class="recommend-item" wx:for="{{goods}}" wx:key="index" bindtap="detail" data-id="{{item.id}}"> <image src="{{item.pic}}"></image> <text class="name">{{item.name}}</text> <view class="money"> <text>¥{{item.minPrice}}</text> <text>¥{{item.originalPrice}}</text> </view> //js detail:function(e){ let id=e.currentTarget.dataset.id//通过e.currentTarget.dataset接收到id(可以log一下e,看是否有你需要的参数) wx.navigateTo({ url: "./homedetail/ShopDetail?id="+id, }) },该处使用的url网络请求的数据。
以上所述,为自己理解和经验,如果有不正确的地方,欢迎指正,本篇博客如果对你有用,希望可以关注一下哟~~
