个人技术分享

Vue 基础汇总

1、什么是MVVM

MVVM 是 Model-View-ViewModel 的缩写。mvvm 是一种设计思想。

Model 层代表数据模型,也 可以在 Model 中定义数据修改和操作的业务逻辑;

View 代表 UI 组件,它负责将数据模型转化成 UI 展现出来,ViewModel 是一个同步 View 和 Model 的对象。

2、Vue声明周期

Vue生命周期会经过八个阶段:

1、beforeCreate(创建前)
2、created(创建后)
3、beforeMount(载入前)
4、mounted(载入后)
5、beforeUpdate(更新前)
6、updated(更新后)
7、beforeDestroy(销毁前)
8、destroyed(销毁后)

3、为什么vue中data必须是一个函数

对象为引用类型,当重用组件时,由于数据对象都指向同一个data对象,当在一个组件中修改 data时,其他重用的组件中的data会同时被修改;

而使用返回对象的函数,由于每次返回的都是 一个新对象(Object的实例),引用地址不同,则不会出现这个问题。

4、vue-router有几种导航钩子

全局导航钩子

组件内的钩子

单独路由独享组件

5、Vue的v-show和v-if区别

v-if 直接影响组件是否被渲染

v-show 是决定元素display的值是不是none

当需要在显示与隐藏之间进行频繁的切换操作时,就使用v-show。

当只有一次切换时,我们就使用v-if。

6、vue-loader是什么?使用它的用途有哪些

vue-loader是解析.vue文件的一个加载器,跟template/js/style转换成js模块,使得.vue文件可以 被浏览器解析。

7、计算属性和watch的区别

computed计算属性,依赖其他的属性值,并且computed的属性值有缓存属性,当属性值变化的 时候,下一次获取computed属性的时候才会重新计算computed的值。

watch是一种观察的作用,用于监听某些数据的回调。每当所监听的数据发生变化时才能执行回调 处理后续操作 计算属性可以一对多,而watch是一对一。

8、prop是什么

prop是共给父组件给子组件传值得一个重要属性,需要在子组件内规划好该组件需要得props以及 每个prop数据格式默认值等等

9、vue 组件通信

父传递子:

父:自定义属性名 + 数据(要传递)=> :value=“数据”

子:props ["父组件上的自定义属性名“] =>进行数据接收)

子传递父:

在父组件中注册子组件并在子组件标签上绑定自定义事件的监听。

子: this.$emit (‘自定义事件名称’, 数据) 子组件标签上绑定@自定义事件名称=‘回调函数’

父:methods: {自定义事件() {//逻辑处理} }

兄弟组件: 通过中央通信 let bus = new Vue()

vuex可以满足任何场景通信需求

10、vue路由传参数有几种方式

1.使用query方法传入的参数使用 this. r o u t e . q u e r y 接受 2. 使用 p a r a m s 方式传入的参数使用 t h i s . route.query 接受 2.使用params方式传入的参数使用 this. route.query接受2.使用params方式传入的参数使用this.route.params 接受

11、query传参和params传参有什么区别

1.params传参可以提前在路由离定义好成为路由的一部分而query不需要
2.params传参或存在参数刷新丢失的情况而query不会

12、vuex 是什么? 有哪几种属性

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。

它有 5 种属性,分别是 state、getter、m