1.Vue核心是什么?
数据驱动(视图的内容随着数据的改变而变动)
组建化:可以增加代码的复用性、可维护性、可测试性、提高开发效率、方便重复使用、体现了高内聚低耦合(这个就是为了增加代码的可重用性、移植性)
2.请你简述对Vue的理解
Vue是一套构建用户界面的渐进式的自底向上增量开发的MVVM框架,核心是关注视图层,vue核心是为了解决数据绑定的问题,为了开发大型单页面应用和组件化,所以vue的信息思想是数据驱动和组件化。MVVM思想是 model:模型,view:视图层,vm:是v.m连接的桥梁。当数据层数据修改时,VM会检测到,并通知视图层进行相应修改。
3.简述vue的单向数据流
父级prop的更新会向下流动到子组件,每次父组件发生改变,子组件所有prop会刷新为最新的值
数据从父组件传递给子组件,只能单向绑定,子组件内部不能直接修改父组件传递过来的数据(可以使用data和computed解决)
4.v-text 与 {{}} 与 v-html 的区别
{{}}将数据解析为纯文本,不能显示输出HTML
v-html 可以渲染输出HTML
v-text 将数据解析为纯文本,不能输出真正的HTML。与花括号的区别是:如果网络慢或者JavaScript出错的话,会将 { { } } 直接渲染到页面中。
v-text 指令的作用:操作网页元素的纯文本内容。{{}}是他的另一种写法。
5.v-on 能够绑定多个方法吗?
可以,如果绑定多个事件,可以用键值对的形式 事件类型:事件名
如果绑定是多个相同事件,直接用逗号分隔就行
代码示例:
<button @click=“myclick(‘one’,‘two’,‘多个事件’,$event)”>绑定多个相同事件
绑定多个事件
<button @click=“a(),b()”>绑定多个事件
myclick(msg1,msg2,msg3,event){
console.log(msg1+msg2+"-----"+msg3);
console.log(event);
a(){console.log(a);}
b(){console.log(b);}
6.Vue 循环的key 作用
key 值的存在保证了唯一性,Vue在执行时,会对节点进行检查,如果没有key值,那么vue检查到这里有dom节点,就会对内容清空并赋新值,如果有key值存在,那么会对新老节点进行对比,比较两者的key值是否相同,进行调换位置或删除。
7.什么是计算属性
计算属性是用来声明式的描述一个值依赖了其他的值,当它依赖的这个值发生了改变时,就更新DOM
当在模板中把一个数据绑定到一个计算属性上时,vue会在它依赖的任何值导致该计算属性改变时更新DOM
每一个计算属性都包括一个getter 和 setter ,读取时触发 getter, 修改时触发 setter.
8.Vue单页面的优缺点
优点:前后端分离,能够给用户更好的体验,加载的更快,内容改变不需要重新加载整个页面。
缺点
:初次加载时耗长(浏览器以开水就要加载html/css/js,所有页面内容都包括在主界面中),页面复杂的提高,导航不可用。
9.Vuex是什么?怎么使用?在哪种场景下使用
Vuex是一个专门为vue.js 应用程序开发的状态管理模式,通过创建一个集中的数据存储,方便程序中的所有组件进行访问,简单来说Vuex 就是vue 的状态管理工具
Vuex有五个属性 state getters mutation action modules
State:就是数据存放地,对应一般vue 对象的 data.state 里面存放的数据是响应式的,state数据发生改变,这个数据的组件也会发生改变,用this.$store.xxx 调用
Getters 相当于 store 的计算属性,尤其是对state中数据的过度,使用this.$store.getters.xxx调用
10.Vue 跨域的解决方式
1.后台更改header 3.开发环境解决跨域,在vue脚手架搭建的项目中修改vue.config.js的配置
11.定义路由组件
定义路由,使用/component进行路由映射组件,用name导航到对应路由创建router实例,传入router配置 创建router实例,传入router配置 创建和挂在根实例 用router-link设置路由跳转
|