小程序面试题

1,简单描述一下微信小程序的相关文件类型

答:
WXML:(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构,
      内部主要是微信自己定义的-套组件。
WXSS:(WeiXin Style Sheets)是一套样式语言,用于描述WXML的组件样式,
js : 逻辑处理,网络请求
json:配饰文件小程序设置,如页面注册,页面标题及tabBar注册组件。
      项目启动文件app.json
      必须要有这个文件,如果没有这个文件,项目无法运行,因为微信框架把这个作
      为配置文件入口,整个小程序的全局配置。包括页面注册,网络设置,以及小程.序的window背景色,配置导航条      样式,配置默认标题。

2,页面内部有什么参数传值的方法?

id ={{item.id}}或者data-xxxx={{item.index}}
获取: e.currentTarget.dataset.id 或者 e.currentTarget.dataset.xxxx
​
form表单获取值:
e.detail.value.xxxx

3,:小程序两个页面之间怎样传递和接受数据?

1,<navigator  url='/pages/test/test?id=111&name=张三' >跳转</navigator> 
   onLoad: function(datas) {
    console.log(datas);
   }
 2,使用全局数据存储
 const app = getApp()
 app.globalData.userid = 998888 /

4,小程序组件和组件之间怎样实现通讯?

组件的通信
父传子属性传递
属性必须在properties 里边进行声明
properties: {
    pdata:{
        type:String
    }
},
​
子传父发送事件:triggerEvent
onTap: function () {
    var myEventDetail = {} // detail 对象,提供给事件监听函数
    var myEventOption = {} //触发事件的选项
    this . triggerEvent( 'myevent, myEventDetail, myEventOpt ion)
}

5,小程序如何阻止事件冒泡?

catchtap:catch`事件绑定可以阻止冒泡事件向上冒泡。

6,小程序路由

第一种方法:

小程序里面的链接使用navigator组件

<navigator url="http://www.baidu.com">跳转A</navigator> //跳转不成功
<navigator url='test/t' >跳转B</navigator>//跳转成功

第二个能正确跳转, 需要注意的是: url中的页面不能是tabBar(底部菜单)中的页面

但是如果open-type属性的值为switchTab, 则可以跳转到tabBar中的页面

open-type属性取值:

navigate 对应 wx.navigateTo 或 wx.navigateToMiniProgram 的功能 redirect 对应 wx.redirectTo 的功能 switchTab 对应 wx.switchTab 的功能 reLaunch 对应 wx.reLaunch 的功能 1.1.0 navigateBack 对应 wx.navigateBack 的功能 1.1.0

第二种方法:api里面跳转

路由方式触发时机
初始化小程序打开的第一个页面
打开新页面调用 API wx.navigateTo
页面重定向调用 API wx.redirectTo
页面返回调用 API wx.navigateBack
Tab 切换调用 API wx.switchTab
重启动调用 API wx.reLaunch

7,小程序开发的优势

1)容易上手,只要之前有HTML+CSS+JS基础知识,写小程序基本上没有大问题,当然如果
  了解ES6+CSS3则完全可以编写出即精简又动感的小程序;
2)基本上不需要考虑兼容性问题,只要微信可以正常运行的机器,就可以运行小程序;
3 ) 基本组件库已经比较齐全:Toast,Loading框,Picker,定位及地图,Image,Input,Checkbox,ext,TextAre-     SrollView.等常用的组件都有,而且使用也挺简单、方便;
4)发布、审核高效,基本上上午发布审核,下午就审核通过,升级简单,而且支持灰度发布;(灰度发布是对某一产品的发   布逐步扩大使用群体范围,也叫灰度放量)
5)微信官方提供使用人数、频率等数据统计,小程序is脚本执行错误日志; .
6)开发文档比较完善,开发社区比较活跃;
7)支持组件化开发,

8,小程序怎样做到自适应?

一般都以苹果6为基准
苹果6下1px=2rpx 用1:2去换算
Rpx是一个响应式的单位自动实现自适应

9,请谈谈小程序的双向绑定

//bindinput绑定事件,在js中通过this.setData实现
<input class=""  placeholder="添加数据" bindinput="getVal" value=""/> 
//js:
getVal(e){
    this.setData({
      val: e.detail.value
    })
  }

10,请谈谈小程序项目的生命周期函数?(三星一下)

onLoad()  页面加载时触发,只会调用一次。可获取当前页面路径中的参数。
Onshow()  页面显示/切入前台时触发,一般用来发送数据请求;
onReady() 页面初次渲染完成时触发,只会调用-次,代表页面已可和视图层进行交互
onHide()  页面隐藏/切入后台时触发,如底部tab切换到其他页面或小程序切入后台等。
onUnload()页面卸载时触发,如redirectTo 或navigateBack到其他页面时。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值