Uniapp基础面试

1. uni-app的优缺点

优点:

a. 一套代码可以生成多端
b. 学习成本低,语法是vue的,组件是小程序的
c. 拓展能力强
d. 使用HBuilderX开发,支持vue语法
e. 突破了系统对H5条用原生能力的限制

缺点:

a. 问世时间短,很多地方不完善
b. 社区不大
c. 官方对问题的反馈不及时
d. 在Android平台上比微信小程序和iOS差
e. 文件命名受限

2. 描述一下uniapp的页面结构以及目录文件所代表的什么

pages.json
配置文件,全局页面路径配置,应用的状态栏、导航条、标题、窗口背景色设置等
main.js
入口文件,主要作用是初始化vue实例、定义全局组件、使用需要的插件如 vuex,
注意uniapp无法使用vue-router,路由须在pages.json中进行配置。
如果开发者坚持使用vue-router,可以在插件市场找到转换插件。
App.vue
是uni-app的主组件,所有页面都是在App.vue下进行切换的,是页面入口文件。
但App.vue本身不是页面,这里不能编写视图元素。
除此之外,应用生命周期仅可在App.vue中监听,在页面监听无效。
pages
页面管理部分用于存放页面或者组件
manifest.json
文件是应用的配置文件,用于指定应用的名称、图标、权限等。HBuilderX 创建的工程此文件在根目录,CLI 创建的工程此文件在 src 目录。
package.json
配置扩展,详情内容请见官网描述package.json概述

3. 说明uniapp页面跳转方式

1、uni.navigateTo: 保留当前页面,跳转到应用的某个页面,使用 uni.navigateBack 可以返回原页面。这种方式类似于网页的超链接跳转。2、uni.redirectTo: 关闭当前页面,跳转大应用内的某个页面。这种方式类似于网页的重定向。3、uni.switchTab: 跳转到tabBar页面,并关闭其他所有非tabBar页面。4、uni.reLaunch: 关闭所有页面,打开到应用内的某个页面。5、nui.navigateBack: 关闭当前页面,返回上一页或多级页面。

4. 分别写出jQuery、vue、小程序、uni-app中的本地存储数据和接受数据是什么?

jQuery:

存:$.cookie('key','value')
取:$.cookie('key')

vue:

存储:localstorage.setItem(‘key’,‘value’)
接收:localstorage.getItem(‘key’)

uni:

存储:uni.setStorage({key:“属性名”,data:“值”})
接收:uni.getStorage({key:“属性名”,success(e){e.data//这就是你想要取的token}})

5.vue、小程序、uni-app的生命周期

vue

beforeCreate(创建前)
created(创建后)
beforeMount(载入前),(挂载)
mounted(载入后)
beforeUpdate(更新前)
updated(更新后)
beforeDestroy(销毁前)
destroyed(销毁后)

uniapp

onLoad:首次进入页面加载时触发,可以在 onLoad 的参数中获取打开当前页面路径中的参数。
onShow:加载完成后、后台切到前台或重新进入页面时触发
onReady:页面首次渲染完成时触发
onHide:从前台切到后台或进入其他页面触发
onUnload:页面卸载时触发
onPullDownRefresh:监听用户下拉动作
onReachBottom:页面上拉触底事件的处理函数
onShareAppMessage:用户点击右上角转发

6. uniapp中如何定义全局变量与Vue在定义全局变量的时候有什么不同

Vue

   使用Vue.js的全局属性 $store,UniApp中可以使用Vuex进行状态管理。通过将需要全局共享的数据存放在Vuex的状态中,就可以在任何一个组件中使用$store进行访问。比如:在main.js中创建一个Vuex的store:
import Vue from 'vue'
import Vuex from 'vuex'Vue.use(Vuex)const store = new Vuex.Store({state: {globalVar: '我是全局变量'}
})export default store

使用全局变量

console.log(this.$store.state.globalVar)

uniapp

    使用Vue.js的全局属性 $uni除了使用Vuex来定义全局变量,UniApp还提供了一个全局对象$uni来保存全局变量:在main.js中定义全局变量:
import Vue from 'vue'
import App from './App'Vue.prototype.$uni = {globalVar: '我是全局变量'
}const app = new Vue({...App
})
app.$mount()

使用

console.log(this.$uni.globalVar)

7.如何防止快速点击?

在需要防止按钮重复提交的组件上添加 :disabled 和 @click.stop.prevent 操作符即可。如下例:

<!-- 模板代码 -->
<template><button @click.stop.prevent="submitForm" :disabled="submitting">提交</button>
</template><script>export default{data(){return{submitting: false // 提交状态}},methods:{submitForm() {if (this.submitting) returnthis.submitting = truesetTimeout(() => {this.submitting = false}, 3000)}}}
</script>

8. uniapp 中如何实现组件之间的通信?

在 uniapp 中,组件之间的通信可以使用 eventBus、$emit$on$parent$children 等方式来实现。 

9.uniapp 中的路由是怎样实现的?请介绍基本用法。

Uniapp 中的路由是由框架自带的 Vue Router 实现的。基本用法如下:在 pages.json 文件中配置页面路径和需要加载的页面组件。在页面组件中使用 &lt;template>&lt;script>&lt;style> 标签,其中 &lt;template> 
标签中是页面的内容,&lt;script> 标签中定义页面组件的相关属性,&lt;style> 标签中定义页面的样式。使用 uni.navigateTo() 或 uni.redirectTo() 方法进行页面跳转。uni.navigateTo() 方法用于从当前页面跳转到新页面,并向新页面传递数据,即保留当前页面,跳转到新页面。
新页面可以通过 uni.getOpenerEventChannel() 获取当前页面的 EventChannel 对象,以便进行数据传递。uni.redirectTo() 方法用于关闭当前页面,跳转到新页面,即不保留当前页面。在页面组件中使用 this.$route.params 获取上一个页面传递的参数,并使用 this.$route.query 获取页面跳转时传递的参数。使用 uni.navigateBack() 方法返回上一个页面,可以通过 delta 参数设置返回的层数。除了基本用法,还可以通过路由守卫实现一些高级用法,例如页面访问权限控制、页面访问记录等。

8. 场景应用讲解

详细描述一下自定义封装Nav表头中所设计的技术点以及扩展点并通过某种技术点对该自定义组件减少代码工作量,提高开发人员的工作效率

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/838451.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024最新Kali Linux安装教程(非常详细)从零基础入门到精通(附安装包)!

什么是Kali Linux&#xff1f; Kali Linux是一个高级渗透测试和安全审计Linux发行版&#xff0c;其功能非常强大&#xff0c;能够进行信息取证、渗透测试、攻击WPA / WPA2保护的无线网络、离线破解哈希密码、将android、Java、C编写的程序反编译成代码等等&#xff0c;是黑客的…

Invalid bound statement (not found) 六种解决方法

前五种参考博文&#xff1a; Invalid bound statement (not found) 五种解决方法-CSDN博客 第六种&#xff1a; 在启动类上加上MapperScan&#xff0c;指定扫描包

css层叠样式表——基础css面试题

1、css样式来源有哪些&#xff1f; 內联样式-<a style"color:red"></a>内部样式-<style></style>外部样式-写在独立.css文件中的浏览器用户自定义样式浏览器默认样式 2、样式优先级问题 不同级别下&#xff1a; !important作为style属性…

【C++】list原理讲解及其实现

目录 一、认识list底层结构 二、list的构造类函数 三、迭代器 四、数据的访问 五、容量相关的函数 六、关于数据的增删查改操作 七、list和vector的比较 前言 要模拟实现list&#xff0c;必须要熟悉list的底层结构以及其接口的含义&#xff0c;在上一篇我们仔细讲解了list的…

网络学习(二)|网络标识符URI与URL的区别与联系

文章目录 URIURL区别与联系示例结论 在工作中&#xff0c;我们经常会听到URI和URL这两个术语&#xff0c;它们是网络中不可或缺的概念。尽管它们常常被混淆使用&#xff0c;但它们代表着不同的概念和角色。我们将深入探讨URI和URL&#xff0c;帮助彻底理解它们之间的区别和联系…

Gradio 案例——将 dicom 文件转为 nii文件

文章目录 Gradio 案例——将 dicom 文件转为 nii文件界面截图依赖安装项目目录结构代码 Gradio 案例——将 dicom 文件转为 nii文件 利用 SimpleITK 库&#xff0c;将 dicom 文件转为 nii文件更完整、丰富的示例项目见 GitHub - AlionSSS/dcm2niix-webui: The web UI for dcm2…

Oracle 数据块之变化时的SCN

有很多操作会引起数据块改变&#xff0c;如业务数据的变化&#xff0c;块清理等。数据块变化时的SCN保存在数据块OFFSET 8-14中&#xff0c;占6个字节&#xff0c;如下所示&#xff1a;此外使用数据块DUMP命令也可以从跟踪文件中找到数据库的改变SCN。数据块的DUMP命令如下所示…

JavaScript精粹(一)- 基础入门

JavaScript&#xff08;简称为JS&#xff09;是一种广泛应用于网页开发的脚本语言&#xff0c;具有以下几个主要作用&#xff1a; 网页交互&#xff1a;JavaScript 可以用于创建动态的网页效果&#xff0c;例如响应用户的操作&#xff0c;实现页面内容的动态更新&#xff0c;以…

【Java基础】集合(2) —— List

List 存储的对象是有序的&#xff08;集合中存储对象的顺序和使用add方法添加对象的顺序一致&#xff09;&#xff0c;存储的对象是可重复的。 List的特有的功能: 都是可以操作索引的功能。 增: void add(int index, E element )boolean addAll(int index, Collection<? …

mysql的explain

explain可以用于select&#xff0c;delete&#xff0c;insert&#xff0c;update的statement。 当explain用于statement时&#xff0c;mysql将会给出其优化器&#xff08;optimizer&#xff09;的执行计划。 通过explain字段生成执行计划表。下面来解析这个执行计划表的每一列…

React Native 之 样式使用(三)

在 React Native 中&#xff0c;使用 JavaScript 来写样式。 所有的核心组件都接受名为style的属性。这些样式名基本上是遵循了web 上的 CSS 的命名&#xff0c;只是按照 JS的语法要求使用了驼峰命名法&#xff0c;例如将background-color改为backgroundColor。 建议使用StyleS…

提升用户体验:Xinstall免邀请码功能详解

在移动互联网时代&#xff0c;App的推广和运营显得尤为重要。然而&#xff0c;传统的App推广方式往往需要用户填写繁琐的邀请码&#xff0c;这不仅降低了用户体验&#xff0c;还影响了推广效果。幸运的是&#xff0c;Xinstall作为国内专业的App全渠道统计服务商&#xff0c;推出…

汽车电子都应用哪些频点的贴片晶振

晶振通过与其它元器件的连接使用&#xff0c;产生脉冲起到信号源的作用&#xff0c;所以在电子圈中有一个很形象的比喻: 如果把芯片比如电路的控制大脑&#xff0c;那晶振产生的信号就是给大脑持续供需的血液。平时&#xff0c;在我们使用的手机&#xff0c;蓝牙耳机&#xff0…

没有疯狂内卷的日本智能机市场,小屏与设计仍旧是主流

如果聊起国内的智能机市场&#xff0c;我想大多数人的印象就是疯狂内卷。卷影像、卷屏幕、卷快充、卷性能……客观地说&#xff0c;国内的3C产品还是很有质价比的。不过在没有如此内卷的日本市场&#xff0c;各种小屏手机仍旧是主流。 除了苹果外&#xff0c;日本本土品牌的夏普…

LeetCode算法题:两数之和

给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回…

代码随想录算法训练营第40天|● 343. 整数拆分 ● 96.不同的二叉搜索树

343. 整数拆分 动归 递归拆 class Solution:def integerBreak(self, n: int) -> int:dp[0]*(n1)dp[2]1for i in range(3,n1):for j in range(1,i//21):dp[i]max(dp[i],(i-j)*j,dp[i-j]*j)return dp[n] 公式&#xff1a;全拆3&#xff0c;剩1个4 class Solution:def inte…

学习疲劳(科普)

由于长时间进行学习&#xff0c;在生理和心理方面产生了怠倦&#xff0c;致使学习效率下降&#xff0c;甚至到了不能继续学习的状况。疲劳现象有各种形态&#xff0c;主要可分为生理的&#xff08;或身体的&#xff09;疲劳和心理的疲劳。学习既包括身体的活动,也包括精神的活动…

LeetCode657.机器人能否返回原点

题目链接&#xff1a; 657. 机器人能否返回原点 - 力扣&#xff08;LeetCode&#xff09; 分析&#xff1a;很简单的模拟问题&#xff0c;同样属于手撕代码最喜欢的部分。 算法思路&#xff1a;定义一个x&#xff0c;y表示每个时刻机器人所在的位置&#xff0c;初始为&#…

python中内置函数简要介绍

pyton3.11版本中常用的内置函数&#xff0c;不需要导入&#xff0c;可直接使用。这些函数大多数都是比较常用的&#xff0c;很多在之前的文章都有介绍过。 大家也可直接到官网查看学习 https://docs.python.org/zh-cn/3.11/library/functions.html。 内置函数 abs() min() …

【CV】opencv调用DIS/LK等计算光流,前一帧和当前帧写反了有什么影响?

当在计算光流时&#xff0c;将前一帧和当前帧输入反了&#xff0c;会导致一系列问题。 在计算光流时&#xff0c;通常是将前一帧作为模板&#xff0c;根据当前帧计算光流。因为光流是描述相邻帧之间像素移动的一种方法&#xff0c;它通过比较两帧之间的像素强度或特征点的移动…