面试题|1

147 阅读3分钟

1.uniapp的setStorage和setStorageSync的区别?(当时不会)

异步uni.setStorage的写法, 使用对象的写法,有回调函数。能知道成功之后的回调。参数为对象

image.png

同步uni.setStorageSync的写法,直接写,较为简单。参数为key,value两个参数,但传输失败需要使用trycatch才能知道。

image.png

两者的区别是:

异步不会阻塞当前任务,同步缓存直到同步方法处理完才能继续往下执行。异步就是不管保没保存成功,程序都会继续往下执行.同步是等保存成功了,才会执行下面的代码.使用异步,性能会更好;而使用同步,数据会更安全。

2.左右两个盒子宽度固定,中间盒子自适应,几种解决办法?(只说了一种flex)

1.使用position

父盒子设置相对布局,左右盒子设置宽度。中间盒子设置left和right

image.png

image.png

2.使用浮动

左右盒子设置左右浮动并且设置宽度。 中间盒子设置margin-left和margin-right;

image.png

3.定位的了解

4. flex如何实现三个一行,其他的换行显示(flex-wrap属性)

5.sessionStorage和localStorage的区别(关闭浏览器是否缓存还存在)

6.hover的实现方法?几种?

1.我说的是css伪类:hover

2.以及是vue中mouseenter事件和mouseleave事件来改变数据,控制动态类的有无。 然后在类中书写hover的效果

7.uniapp如何引入vuex?(uniapp中自带vuex插件)

uniapp中自带vuex插件,只需要引入即可。(和pc端步骤没什么区别)

要在uniapp中引入vuex,需要执行以下步骤:

  1. 在项目根目录下执行以下命令安装vuex:
npm install vuex --save
  1. 在uniapp的src目录下新建一个store目录,并在该目录下创建一个index.js文件,这个文件就是vuex的入口文件。在该文件中引入vuex:
import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {},
  mutations: {},
  actions: {},
  modules: {}
})
  1. 在main.js中引入vuex:
import Vue from 'vue'
import App from './App'
import store from './store'

Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
    ...App,
    store
})
app.$mount()

这样就完成了在uniapp中引入vuex的步骤。现在你就可以在组件中使用vuex了。

8.vuex如何加入数据,获取数据?

9.说下防抖,以及实现的方法。

10.vue的两种路由模式

  1. hash模式:在URL中加入#符号,例如example.com/#/home。在has…
  2. history模式:利用HTML5中的history API,在URL中不加#符号,例如example.com/home。在histo… API实现前进后退等操作。history模式需要服务器端支持,因为在浏览器刷新页面时,服务器需要返回正确的页面。history模式在兼容性方面存在问题,不支持IE9及以下版本的浏览器。