Web前端最全Vue8-Vuex与Router,2024年最新阿里巴巴前端面试流程

总结:

  • 函数式编程其实是一种编程思想,它追求更细的粒度,将应用拆分成一组组极小的单元函数,组合调用操作数据流;

  • 它提倡着 纯函数 / 函数复合 / 数据不可变, 谨慎对待函数内的 状态共享 / 依赖外部 / 副作用;

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

Tips:

其实我们很难也不需要在面试过程中去完美地阐述出整套思想,这里也只是浅尝辄止,一些个人理解而已。博主也是初级小菜鸟,停留在表面而已,只求对大家能有所帮助,轻喷🤣;

我个人觉得: 这些编程范式之间,其实并不矛盾,各有各的 优劣势

理解和学习它们的理念与优势,合理地 设计融合,将优秀的软件编程思想用于提升我们应用;

所有设计思想,最终的目标一定是使我们的应用更加 解耦颗粒化、易拓展、易测试、高复用,开发更为高效和安全

// 使用核心插件 Vuex

Vue.use(Vuex)

// 创建 Store

const store = new Vuex.Store({

state: { // 组件间共享的数据

todos: [],

},

mutations: { // 唯一进行同步更新状态数据的方法

/**

  • 添加新待办事项

*/

addTodoItem(state, payload) {

state.todos.push({

id: Math.random(),

title: payload.title,

completed: false,

})

},

},

})

export default store

向根实例中注入 store

import Vue from ‘vue’

// 引入 store

import store from ‘./store’ // import store from ‘./store/index.js’

new Vue({

store, // 注入 store,这样,在所有后代组件中,都可以使用 this.$store 获取 vuex 的 Store 使用

// render: h => h(App),

}).$mount(‘#app’)

在组件中使用 store

  1. this.$store.state.todos // 类似于data拿里面数据

  2. this.$store.commit(mutationType, payload) // 类似于触发事件

  3. this.$store.getters.allChecked // 类似于计算属性

辅助函数

import { mapState, mapGetters, mapMutations, mapActions } from ‘vuex’ // 解构出来vuex仓库中保存的数据

Vue Router

=============================================================================

SPA


single page application(单页面应用程序),即在整个应用中,只有一个 html 页面,在用户与应用之间实现交互时能够动态更新页面内容。

前端路由


利用 hash 或 history 改变不会向后端发起新的 html 请求

模式


  1. hash:利用 URL 中 #hash hash 值改变后,不会发送新的网络请求的特点,来实现的路由。使用如 #/home、#/login 类似的方式来表示所请求的前端 URL 资源

  2. history:利用 h5 中 history 新增的 API pushState()、replaceState() 来实现。其路由的格式与服务端路由 URL 格式一致(比 hash 模式来说,没有多余的如 # 之类的符号),这种路由模式要用好,还需要服务端配置

  3. Vue Router是 Vue.js 官方的路由管理器,是一个核心插件,与 Vue.js 高度集成

安装


  • npm安装$ npm i vue-router@3.5.3

  • yarn安装$ yarn add vue-router@3.5.3

定义 VueRouter 对象


import Vue from ‘vue’

import VueRouter from ‘vue-router’

import Home from ‘@/views/Home’

import Login from ‘@/views/Login’

// 使用路由插件

Vue.use(VueRouter)

// 创建 VueRouter 对象

const router = new VueRouter({

mode: ‘hash’, // 路由模式,可取 hash、history,默认为 hash

routes: [ // 静态路由的配置信息

{

path: ‘/home’, // 当 URL 中访问地址为 /home 时

component: Home, // 拿 Home 组件渲染

},

{

path: ‘/login’,

component: Login,

},

],

})

// 导出路由对象

export default router

在 Vue 组件中使用 VueRouter 时,可使用 VueRouter 提供的两个内置组件:


  1. router-link:链接,相当于

  2. router-view:视图,用于渲染访问路径所对应的组件

  3. 注入 router 到 vue 根实例

// 引入 router

import router from ‘./router’

new Vue({

最后

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

径所对应的组件

  1. 注入 router 到 vue 根实例

// 引入 router

import router from ‘./router’

new Vue({

最后

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

[外链图片转存中…(img-WJ9TfH55-1715866059412)]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值