码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 小程序面试题


    文章目录

      • 1. 微信小程序
        • 1.1如何获取用户的授权信息
        • 1.2数据绑定与列表渲染如何实现
        • 1.3页面跳转方式
        • 1.4 tabBar配置参数有哪些
        • 1.5页面生命周期包含那几个?
        • 1.6 如何获取地理位置
        • 1.7 小程序通过哪些方法传值
        • 1.8 bindTap与catchTap的区别
        • 1.9 五个路径跳转方法的区别
        • 1.10 如何分包加载,分包加载的优势
        • 1.11小程序有哪些提升性能的方法
        • 1.12 微信小程序与Vue的区别
        • 1.13微信小程序的优劣势?
        • 1.14小程序登录流程
        • 1.15小程序的条件编译
        • 1.16 uniapp与微信小程序的区别

    1. 微信小程序

    1.1如何获取用户的授权信息

    • 通过wx.getUserProfile()方法
    • 小程序的wx.getSetting()方法

    1.2数据绑定与列表渲染如何实现

    mustache语法数据渲染,wx:for 渲染列表

    1.3页面跳转方式

    1. 声明式导航,使用navigator组件实现页面的跳转
    2. 编程式导航,使用小程序提供的API实现页面的跳转
      2. 1 wx.switchTab() 跳转至tabBar页面,并关闭其他所有非 tabBar 页面
        wx.switchTab({
           url: '/pages/logs/logs'
         })
    
    • 1
    • 2
    • 3
    1. 2 wx.navigateTo() 此方法不会关闭当前页面,且页面最多层叠10层(非tabBar页面)
      wx.navigateTo({
        url: '../index/index'
      })
    
    • 1
    • 2
    • 3
    1. 3wx.navigateBack() 返回上一页

    1.4 tabBar配置参数有哪些

    属性类型描述
    colorHexColortab上的文字颜色
    selectedColorHexColor文字选中颜色
    backgroundColorHexColortab背景颜色
    listArraytabBar的列表,最少2个最多5个

    1.5页面生命周期包含那几个?

    1. onload()页面加载时触发,可以在onLoad的参数中获取打开当前页面的路径的参数
    2. onShow() 页面显示或切入前台时触发
    3. onReady()页面初次渲染完成后触发,这是可以和视图层进行交互
    4. onHide() 页面隐藏或切入时触发
    5. onUnload() 页面卸载时触发

    1.6 如何获取地理位置

    • 首先通过wx.openSetting接口拿到用户授权,在拿到用户授权以后 ,使用wx.getLocation接口获取当前位置的经纬度,然后结合第三方地图接口查询区域信息

    1.7 小程序通过哪些方法传值

    1. 标签传值
      • 通过给标签添加 data-属性名 属性并赋值,然后绑定 tap 事件获取事件 event 中的 target.dataset.
    <view data-index="10" bindtap="myTap">点击获取值</view>
    //在JS中获取值
    Page({
    	myTap (e) {
    		let index = e.target.dataset.index
    		console.log(index) // 10
    	}
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    1. navigator标签传值
    <navigator url="/page/index/index?id=1"></navigator>
    
    • 1
    1. 调用微信 API wx.navigateTo(Object)传值
    <view bindtap="skip(1)">点击跳转并传值</view>
    //在JS中获取值
    skip (id) {
    	wx.navigator({
    		url: "/page/index/index?id=" + parsetInt(id)
    	})
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    1.8 bindTap与catchTap的区别

    • 相同点:都是点击事件
    • 不同点 :bindTap不会阻止事件冒泡,catachTap 是阻止事件冒泡的

    1.9 五个路径跳转方法的区别

    1. wx.navigateTo():保留当前页面,跳转到应用中的某一个页面,但是不能跳转到tabBar 页面
    2. wx.redirectTop: 关闭当前页面,跳转到应用内的某一个页面,但是不允许跳转到tabBar页面
    3. wx.switchTab:跳转到tabBar页面,并关闭其他所有非tabBar的页面
    4. wx.navigateBack() 关闭当前页面,返回上一页面或多级页面
    5. wx.relaunch() 关闭所有页面,打开到应用的某个页面

    1.10 如何分包加载,分包加载的优势

    • 优点: 解决项目体积过大,提高渲染效率,方便协同开发
      参考答案

    1.11小程序有哪些提升性能的方法

    1. 减少this.setData 的调用次数,可以将多次的setData合并为一次
    2. 减少每次的setData的数据传输量,保证精准的传递只更改的数据

    1.12 微信小程序与Vue的区别

    1. 声明周期不一样 ,微信小程序的生命周期比较简单
    2. 数据绑定不同 ,小程序的数据绑定用{{}} mastach语法 vue直接绑定data中的数据
    3. 显示隐藏不同 Vue中v-if ,v-show 小程序是 wx:if与hidden
    4. 处理事件不同
    5. 数据的双向绑定不同 Vue中,直接在Input标签中使用v-model绑定data中的数据 ,而小程序中必须在 this.setData({})中进行数据的驱动

    1.13微信小程序的优劣势?

    优势:

      1、无需下载,通过搜索和扫一扫就可以打开。
    
      2、良好的用户体验:打开速度快。
    
      3、开发成本要比App要低。
    
      4、安卓上可以添加到桌面,与原生App差不多。
    
      5、为用户提供良好的安全保障。小程序的发布,微信拥有一套严格的审查流程,不能通过审查的小程序是无法发布到线上的。
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    劣势:

     1、限制较多。页面大小不能超过1M。不能打开超过5个层级的页面。
    
     2、样式单一。小程序的部分组件已经是成型的了,样式不可以修改。例如:幻灯片、导航。
    
     3、推广面窄,不能分享朋友圈,只能通过分享给朋友,附近小程序推广。其中附近小程序也受到微信的限制。
     
     5、依托于微信,无法开发后台管理功能。
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    1.14小程序登录流程

    登录流程

    1.15小程序的条件编译

    小程序的条件编译

    1.16 uniapp与微信小程序的区别

    uniapp与微信小程序的区别

  • 相关阅读:
    解决网页不能复制
    鼠标键盘自动化工具pyautogui
    k8s调度之污点和容忍
    k8s operator
    web网页设计与开发:基于HTML+CSS+JavaScript简单的个人博客网页制作期末作业
    3大问题!Redis缓存异常及处理方案总结
    Android 使用kotlin+注解+反射+泛型实现MVP架构
    java-php-python-ssm-校园网上跳蚤书市系统-计算机毕业设计
    [补题记录] Atcoder Beginner Contest 300(E)
    【LeetCode: 2034. 股票价格波动 | 有序表】
  • 原文地址:https://blog.csdn.net/weixin_46104934/article/details/127824849
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号