1,简述你对微信小程序的目录结构的理解?
project.config.json : 这是一个项目配置文件,比如项目的名字,appid等等
app.js: app.js文件用来定义全局数据和函数的使用,它可以指定微信小程序的生命周期函数。生命周期函数可以理解为微信小程序自己定义的函数,如onlaunch(监听小程序初始化),onshow(监听小程序显示),onhide(监听小程序隐藏)等,在不同阶段,不同场景可以使用不同的生命周期函数。app.js中还可以定义一些全局的函数和数据,其他页面引用app.js文件后就可以直接使用全局函数和数据
app.json: : app.json 是当前小程序的全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 tab 等;我们可以在这个文件中配置小程序是由哪些页面组成,配置小程序的窗口及背景色,配置导航条样式,配置默认标题。注意该文件不可添加任何注释
app.wxss: app.wxss则是小程序的全局样式,它可以应用到所有page页面。
pages: 主要存放小程序的页面文件,书写各个页面代码以及组件,每个页面包含四个文件:
js文件:.js是小程序的逻辑文件,也称事件交互文件和脚本文件,用于处理界面的点击事件等功能,像设置初始数据,定义事件,数据的交互,逻辑的运算,变量的声明,数组,对象,函数,注释的方式等,其语法与javascript相同
wxml文件:.wxml文件是界面文件,是页面结构文件,用于构建页面,在页面上增加控件,相当于html。
wxss文件:.wxss是样式表文件,类似于前端中的css,是为.wxml文件和page文件进行美化的文件,让界面显示的更加美观。例如对文字的大小,颜色,图片的宽高,设置个.wxml中个组件的位置,间距等。
json文件:json后缀的文件为配置当前页面的默认项,主要是json数据格式存放,用于设置程序的配置效果
utils :该文件件主要用于存放全局的一些.js文件,公共用到的一些事件处理代码文件可以放到该文件夹下,用于全局调用
sitemap.json 小程序根目录下的 sitemap.json 文件用于配置小程序及其页面是否允许被微信索引,文件内容为一个 JSON 对象,如果没有 sitemap.json ,则默认为所有页面都允许被索引。
2,微信小程序的生命周期
答案:
onLoad: 页面加载
一个页面只会调用一次。
接收页面参数 可以获取wx.navigateTo和wx.redirectTo及
onShow: 页面显示
每次打开页面都会调用一次。
onReady: 页面初次渲染完成
一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。
onHide: 页面隐藏
当navigateTo或底部tab切换时调用。
onUnload: 页面卸载
当redirectTo或navigateBack的时候调用。
知识点链接:https://www.cnblogs.com/nosqlcoco/p/wxsmallcycle.html
3,微信小程序里面开页面最多多少?
答案:小程序中页面栈最多十层,随着页面增加路由跳转很容易在不知道的情况下就会堆栈到十层,再用navigateTo去跳转就跳不动了。假如想处理小程序页面栈,这时候就需要删除当前页面栈(redirectTo)或删除所有页面栈(reLaunch)来跳转了。页面栈可以通过getCurrentPages方法获取。
知识点链接:https://blog.csdn.net/qq_46003166/article/details/104301243?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-2
4,组件component如何使用到父级页面的样式?
答案:
子组件:
/* 组件 custom-component.js */
Component({externalClasses:['my-class']})
父组件:
/* 页面的 WXSS */.red-text{color:red;}
知识点链接:https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/wxml-wxss.html#%E5%A4%96%E9%83%A8%E6%A0%B7%E5%BC%8F%E7%B1%BB
4,微笑小程序如何下拉刷新,如果让你自己手写一个,你讲如何设计?
答案:调用系统的API,系统有提供下拉刷新的API接口--"enablePullDownRefresh": true
知识点链接:https://blog.csdn.net/qq_19707091/article/details/80929449?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
6,微信小程序中页面跳转的方式有什么?
答案:
wx.navigateTo(),跳转至另一个页面
wx.switchTab(),跳转至tabbar页
wx.redirectTo(),跳转至另一界面,如下图,与wx.navigateTo()不同的是wx.redirectTo()跳转后的页面没有返回箭头,如果需要返回需自定义返回按钮
知识点链接:https://www.cnblogs.com/Webzhoushifa/p/9510226.html