小程序面试题

文章目录

  • 简单谈谈微信小程序
  • 小程序的原生组件有哪些
  • 小程序的安卓版和ios版是怎么开发出来
  • uni-app弹窗被覆盖怎么解决
  • 小程序生命周期
  • 小程序路由跳转
  • 小程序的兼容问题有哪些
  • 小程序框架都掌握哪一些,uniapp都会哪一些,平时开发遇到的困难
    • 上传图片
    • uni-app h5 端的ios图片不能加载问题
    • uni-app 使用deep 穿透微信小程序生效 h5无作用
    • uni-app post请求如何传递数组 参数
  • 小程序怎么获取手机号
  • 小程序的登录流程
  • 小程序如果版本更新了怎么通知用户
  • 小程序嵌入H5页面怎么做
  • 小程序的生命周期函数有哪些?分别有什么作用?

简单谈谈微信小程序

在结构和样式方面,小程序提供了一些常用的标签与控件,比如:

  • view,小程序主要的布局元素,类似于html标签的div,你也完全可以像控制div那样去控制view。

  • scroll-view,你要滚动内容的话,没必要用view去做overflowscroll-view提供了更为强大的功能,通过参数的调整,你可以控制滚动方向,触发的事件等等

配置文件app.json平级的还有一个app.js文件,是小程序的脚本代码。我们可以在这个文件中监听并处理小程序的生命周期函数、声明全局变量,在每个page目录里的js做当前页面的业务操作。但是小程序的页面的脚本逻辑是在JsCore中运行,JsCore是一个没有窗口对象的环境,所以不能在脚本中使用window,也无法在脚本中操作组件,所以我们常用的zepto/jquery 等类库也是无法使用的。

另一个app.wxss文件,这个是全局的样式,所有的页面都会调用到,每个项目目录下面的wxss是局部样式文件,不会和其他目录产生污染,可以放心使用样式名。

他提供的WXSS是一套样式语言,具有 CSS 大部分特性,可以看作一套简化版的css
同时为了更适合开发微信小程序,还对 CSS 进行了扩充以及修改,直接帮我们把适配的一部分工作都做了,比如他的rpx,可以根据屏幕宽度进行自适应,规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素1rpx = 0.5px = 1物理像素。

在调用微信生态系统功能时,微信小程序提供了相应的api,比如你要修改一个头像,可以使用wx.chooseImage

小程序的原生组件有哪些

以微信小程序为例,可以分成容器组件基础组件表单组件媒体组件开放能力组件

小程序的安卓版和ios版是怎么开发出来

小程序开发基于htmlcssjavascript,与web开发一样具有跨平台特性,一次开发即可在安卓iOS等平台访问,但与普通web开发不同,小程序运行环境并不是浏览器,而是依附于各自的软件App,如微信小程序必须在微信中访问,支付宝小程序必须在支付宝中访问等,小程序的开发流程也有所不同,需要经过申请小程序帐号、安装小程序开发者工具、配置项目、开发、调试、上线发布等过程方可完成

uni-app弹窗被覆盖怎么解决

如果弹窗被别的内容覆盖,且设置很大的z-index也无法解决,这种情况多半是被一些如mapvideotextareacanvas等原生组件遮盖,因为原生组件层级高于前端组件,我们可以使用cover-view组件解决

小程序生命周期

onReady 生命周期函数–监听页面初次渲染完成

onShow 生命周期函数–监听页面显示

onHide 生命周期函数–监听页面隐藏

onUnload 生命周期函数–监听页面卸载

onPullDownRefresh 页面相关事件处理函数–监听用户下拉动作

onReachBottom 页面上拉触底事件的处理函数

onShareAppMessage 用户点击右上角转发

onPageScroll 页面滚动触发事件的处理函数

onTabItemTap 当前是 tab 页时,点击 tab 时触发

小程序路由跳转

1.通过组件navigator跳转,设置url属性指定跳转的路径,设置open-type属性指定跳转的类型(可选),open-type的属性有 redirect, switchTab, navigateBack

// redirect 对应 API 中的 wx.redirect 方法
<navigator url="/page/redirect/redirect?title=redirect" open-type="redirect">在当前页打开</navigator>

// navigator 组件默认的 open-type 为 navigate 
<navigator url="/page/navigate/navigate?title=navigate">跳转到新页面</navigator>

// switchTab 对应 API 中的 wx.switchTab 方法
<navigator url="/page/index/index" open-type="switchTab">切换 Tab</navigator>

// reLanch 对应 API 中的 wx.reLanch 方法
<navigator url="/page/redirect/redirect?title=redirect" open-type="redirect">//关闭所有页面,打开到应用内的某个页面

// navigateBack 对应 API 中的 wx.navigateBack 方法
<navigator url="/page/index/index" open-type="navigateBack">关闭当前页面,返回上一级页面或多级页面</navigator>

2.通过api跳转,wx.navigateTo() , wx.navigateBack(), wx.redirectTo() , wx.switchTab(), wx.reLanch()

wx

你可能感兴趣的:(小程序,notepad++)