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