2020-06-03面试--微信小程序篇

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及中的 query。

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']})

这段文本的颜色由组件外的 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,微信小程序中页面跳转的方式有什么?

答案:

  1. wx.navigateTo(),跳转至另一个页面

  2. wx.switchTab(),跳转至tabbar页

  3. wx.redirectTo(),跳转至另一界面,如下图,与wx.navigateTo()不同的是wx.redirectTo()跳转后的页面没有返回箭头,如果需要返回需自定义返回按钮

知识点链接:https://www.cnblogs.com/Webzhoushifa/p/9510226.html

你可能感兴趣的:(2020-06-03面试--微信小程序篇)