前端高频面试题(小程序)

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

微信小程序项目结构主要有四个文件类型

WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件,事件系统,可以构建出页面的结构。内部主要是微信自己定义的一套组件

WXSS(WeiXin Style Sheets)是一套样式语言,用于描述WXML的组件样式

js逻辑处理,网络请求

json小程序设置,如页面注册,页面标题及tabBar

主要文件

app.json必须要有这个文件,如果没有这个文件,项目无法运行,因为微信框架把这个作为配置文件入口,整个小程序的全局配置,包括页面注册,网络设置,以及小程序的window背景色,配置导航条样式,配置默认标题,底部导航等

app.js必须要有这个文件,没有也会报错,但是这个文件创建一下就行 什么都不需要写以后我们可以在这个文件中监听并处理小程序的生命周期函数,声明全局变量

app.wxss可选,全局样式

2.简述微信小程序原理

微信小程序采用javaScript,WXML,WXSS三种技术进行开发,本质就是一个单页面应用,所有的页面渲染和事件处理,都在一个页面内进行,但又可以通过微信客户端调用原生的各种接口微信的架构是数据驱动的架构模式,他的UI和数据是分离的,所有的页面更新,都需要通过对数据的更改来实现

小程序分为两个部分webview和appService.其中webview主要用于展现UI,appService有来处理业务逻辑,数据及接口调用,他们在两个进程中运行,通过系统层JSBridge实现通信,实现UI的渲染,事件的处理

3.小程序的双向绑定和vue哪里不一样

小程序直接this.data的属性是不可以同步到视图的,必须调用:this.setData

4.小程序页面间有哪些传递数据的方法

使用全局变量实现数据传递,在app.js文件中定义全局变量globalData,将需要存储的信息存放在里面

使用wx.navigateTo与wx.redirectTo的时候,可以将部分数据放在url里面,并在新页面onLoad的时候接收

使用本地存储Storage

5.小程序的生命周期函数

onLoad 页面加载时触发,一个页面只会调用一次,可以在onLoad的参数中获取打开当前页面路径中的参数

onShow()页面显示/切入前台时触发

onReady()页面初次渲染完成时触发,一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互

onHide()页面隐藏/切入后台时触发,如navigateTo或底部tab切换到其他页面,小程序切入后台等

onUnload()页面卸载时触发。如redirectTo或navigateBack到其他页面时

6.小程序组件通信

父传子:组件上写自定义属性,子组件通过properties接收

//父组件
<banner  step="{{step}}"></banner>

//子组件
Component({
  properties: {
    step:{
      type:Number
    }
  }
)},

子传父:通过自定义事件triggerEvent

//子组件
 realNameConfirm(){
	 let step=2;
     this.triggerEvent('realNameConfirm', step)     //通过triggerEvent将参数传给父组件
}

//父组件
<realName  bind:realNameConfirm="realNameConfirm" ></realName> 

调取子组件的实例selectComponent

<banner  id="banner"></banner>
this.selectComponent('#banner'); 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值