• 微信小程序查缺补漏


    微信小程序主要目录和文件的作用?

    1.wxml:页面结构
    2.wxss:页面样式表
    3.js:页面逻辑,请求和数据处理
    4.json:配置当前页面标题和引入组件等
    5.pages:所有的页面内容
    6.app.js:监听并处理小程序的声明周期函数、声明全局变量等
    7.app.json:整个小程序的全局配置,例如底部tab栏等
    8.app.wxss:公共样式
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    wxml和html的异同?
    相同:

    1.都是用来描述页面结构
    2.都是由标签、属性构成
    
    • 1
    • 2

    不同:

    1.标签名字不一样,小程序标签更少,单一标签更多
    2.多了一些wx:if这样的属性以及{{}}这样的表达式
    3.wxml仅能在微信小程序开发者工具中预览,但是html可以在浏览器内预览
    4.组件封装不同,wxml对组件进行了重新封装
    5.小程序运行在js core中,没有dom树和window对象,小程序中无法使用window对象和document对象
    
    • 1
    • 2
    • 3
    • 4
    • 5

    小程序的双向绑定和vue的异同?

    大体相同,但是小程序之间this.data属性不可以同步到试图,需要调用this.setData()方法
    
    • 1

    Vue和小程序一些不同?

    1.双向绑定:vue默认支持,小程序需要借助data
    2.取值:vue中this.userInfo,小程序this.data.userInfo
    3.定义方法:vue在methods中定义(vue3可以直接在js中写),小程序直接在js文件中定义即可
    
    • 1
    • 2
    • 3

    小程序的生命周期?

    1.onLoad() 页面加载时触发,只触发一次,可获取当前页面路径中的参数
    2.onShow() 页面显示/切入前台时触发,一般用来发送数据请求
    3.onReady() 页面初次渲染完成时触发,只调用一次,代表页面可与视图层交互
    4.onHide() 页面隐藏/切入后台时触发,如底部tab切换到其他页面或者小程序切入后台
    5.onUnload() 页面卸载时触发,如redirectTo或navigateBack页面时
    6.onPullDownRefresh() 下拉刷新的钩子函数
    7.onReachBottom() 上拉加载下一页的钩子函数
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    简述微信小程序原理?

    小程序分为两部分webview和appservice,webview用来展示UI,appservice用来处理业务逻辑、数据和接口调用,它们在两个进程中进行,通过系统层JSBridge实现通信,完成UI渲染,事件处理;
    
    • 1

    小程序的优势和劣势?
    优势:

    1.容易上手,基础组件库比较完善,基本不需要考虑兼容问题;
    2开发文档比较完善,开发社区比较活跃,支持插件式开发;
    3.良好的用户体验,无需下载,搜索和扫一扫即可打开,速度很快,安卓可以添加到桌面,和原声app差不多
    4.开发成本比app低
    5.为用户提供良好的安全保障
    
    • 1
    • 2
    • 3
    • 4
    • 5

    劣势:

    1.限制较多,单文件包不能超过2M,不能打开超过十个层级的页面;
    2.样式单一,有的组件不能再被修改,例如导航、幻灯片等
    3.推广面窄,不能分享朋友圈,只能通过分享给朋友,附近小程序推广
    4.依托于微信,无法开发后台管理功能
    5.后台调试麻烦,因为api接口必须https且公网地址
    6.真机测试,个别功能安卓和苹果表现迥异,例如安卓的定位功能加载很慢
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    如何实现下拉刷新?

    1.先在app.json或page.json中配置enablePullDownRefresh为true
    2.page里使用onPullDownRefresh函数,在下拉刷新时执行
    3.在下拉函数执行时发起数据请求,请求返回后,调用wx.stopPullDownRefresh停止下拉刷新状态
    
    • 1
    • 2
    • 3

    bindtap和catchtap的区别是什么?

    Bindtap不会阻止冒泡事件,catchtap阻止冒泡事件
    
    • 1

    小程序关联微信公众号如何确定用户的唯一性?

    使用wx.getUserInfo方法withCredentials为true时,可获取encryptedData,里面有uniion_id需要对称解密
    
    • 1

    wx.navigateTo(),
    wx.redirectTo(),
    wx.switchTab(),
    wx.navigateBack(),
    wx.reLaunch()的区别?


    传递参数值的方法?

    跳转的方法?

  • 相关阅读:
    常用JavaScript代码片段汇总
    JS-JSON
    scala数组函数合集
    kubernetes集群搭建
    深入分析MySQL索引与磁盘读取原理
    常见问题解答:同时运行 ELEMENTOR FREE 和 ELEMENTOR PRO 插件
    MySQL之主从复制(双主双从)
    【论文下饭】A Systematic Survey on Deep Generative Models for Graph Generation
    【精通Java】集合类体系之List集合
    UML类图的六大关系,最佳学习理解方式
  • 原文地址:https://blog.csdn.net/Selina_lxh/article/details/126254848