1:列举一下Vue组件生命周期函数,什么时候需要在destroyed中写代码?
1 beforeCreate: 可以发请求,但是不能赋值给data里面的数据 科瑞特 2 created 发请求 初始渲染的工作在此处执行 亏诶特得 3 beforeMount 虚拟DOM生成 ,数据未挂载 ·1mounted 虚拟DOM解析。数据已经挂载 进行获取DOM元素 毛武特 5 beforeupdate 数据更新之前调用 6 updated 数据更新之后调用 7 beforedestroy 在销毁之前调用 得死错 8 destoryed 在销毁之后调用定时器清除,事件移除都可以在此处去写当前页面有事件监听器或者计时器时,需要在destroyed中取消或销毁 得死搓耳的
2:vue路由的钩子函数有哪些?
全局的路由钩子函数:beforeEach、afterEach 单个的路由钩子函数:beforeEnterg 比fro安特 组件内的路由钩子函数:beforeRouteEnter、beforeRouteLeave、beforeRouteUpdate 如特安特 如特礼物 如特啊珀得特
3. 介绍以下vue组件内的路由守卫(即路由的生命周期/钩子函数),有哪些参数+(to,from,next) vue组件中的路由钩子方法有
beforeRouteEnter 进入路由前调用。这里组件还未创建, 不能使用this beforeRouteUpdate 路由更新之前被调用, 组件不会重新初始化, 可以使用this beforeRouteLeave 离开路由之前被调用,可以访问里面的this属性 方法中都有三个参数: to:即将要进入的目标路由对象; from:当前导航即将要离开的路由对象; next :调用该方法后,才能进入下一个路由钩子函数 内科斯特
4.vue中数据绑定是怎么实现的?双向绑定指令v-model的本质是什么?
Vue组件data中的数据在组件创建时,都会被改造为set,get类型的属性,当数据发生变化时set方法就会调用,set方法中添加了重新渲染的代码。 v-model相当于 v-bind:value 加 v-on:input
5. vue中怎么实现非父子组件之间的传值?
在项目规模不是特别大时,可以创建一个空组件作为总线,项目中其他组件都可以通过总线进行传值。 大大型项目中,可以使用vuex进行数据管理,将数据统一放在store中进行管理。四座e 也可以在路由跳转时,通过路由传值
6.vue中路由如何传值?
(1, 使用url拼接字符串的形式传值 使用r o u t e . q u e r y 接 收 奎 锐 ( 2 , 使 用 友 好 U R L 传 值 使 用 route.query接收 奎锐 (2, 使用友好URL传值 使用route.query接收奎锐(2,使用友好URL传值使用route.params接收 派瑞e门市 (3, 使用命名路由params字段传值 使用r o u t e . p a r a m s 接 收 ( 4 , 使 用 q u e r y 对 象 传 值 使 用 route.params接收 (4, 使用query对象传值 使用route.params接收(4,使用query对象传值使用route.query接收
7. vue中有哪些数据传递方式?
(1, 组件传值: 父传子,通过props属性或slot插槽传递, 子传父,通过$emit发射自定义事件传递, 非父子,通过bus总线传递 (2, 路由传值: 可通过url路径传值和编程式导航对象传值 (3, vuex状态管理传值
8. vuex如何使用?
首先在项目中 npm install vuex 安装 新建vuex状态管理文件,导入vuex并添加状态数据 在组件中使用mapState()函数映射状态数据并使用 四得特 在组件中使用commit()函数提交申请修改状态数据 可门特
9. Vuex的核心概念有哪些?组件如何使用store中的数据如何改变store中的数据?
state => 基本数据 在组件中使用mapState()函数把状态数据映射入组件即可使用 给特斯 getters => 从基本数据派生的数据 我们在组件中使用 store.commit(’’,params)修改数据 actions => 像一个装饰器,包裹mutations,使之可以异步。 使用mapAction()映射入组使用 麻婆啊克星 提交无私modules => 模块化Vuex
10. vue中如何处理跨域请求
vue中处理跨域请求一般要设置代理服务器实现跨域, 得色舞 在vue项目的根目录中手动创建vue.config.js配置文件,在devServer字段中配置服务器代理 在使用axios请求数据时直接使用代理地址 艾科谁藕丝
11. axios和ajax的区别:
axios是通过promise实现对ajax技术的一种封装,就像jQuery实现ajax封装一样。 简单来说: ajax技术实现了网页的局部数据刷新,axios实现了对ajax的封装。
12.vue和react有哪些异同点?
相同点 (1, 都通过虚拟DOM实现了视图的渲染与更新 (2, 都是组件化编程, 把整个项目分割成一个个的组件来实现 (3, 都有单向数据流的规则执行数据流动, 父组件通过props属性向子组件传值 不同点 瑞爱科特 (1, vue常用html标签模板,使用js实现逻辑,视图与逻辑分离, react使用jsx语法实现模板, html与js相结合 (2, vue组件中的data数据可以直接调用并更新 而react中的state数据需要使用setState()函数执行更新 (3, vue属于渐进式前端框架,更适用于开发小型,灵活的项目, react生态更丰富,更适用于开发专业,大型的项目 (4, vue在组件中提供了指令,过滤器,属性监听等,可以方便快捷的操作DOM
13.vue有哪些常用的UI组件库
element (PC端), VUX (移动端), Mint UI(移动端) 门特 Vant (移动端) 万特
14. vue中v-if和v-show有什么区别
v-if的原理是根据判断条件来动态的进行增删DOM元素, 比较耗费性能和内存, 频繁显示隐藏不建议使用 v-show是根据判断条件来动态的进行显示和隐藏元素, 通过设置样式display为block和none来实现, 适用于频繁显示隐藏的情况
15. vue有哪些优缺点:
优点: (1 简单好用: Vue.js包含基于HTML的标准模板,可以更轻松地使用和修改现有应用程序。 (2 单页面应用, 使用单文件组件结构, 用户体验好, (3 性能比较好:相比其他框架, 它占用更少的空间,并提供更好的性能。 (4 基于MVVM模式, 数据驱动视图, 更高效 (5 适应性强:组件化设计可以提高开发效率,方便代码复用, 提升整个项目的可维护性 缺点: (1, vue生态环境不如react和angular, 但有追赶和超越的趋势 安哥拉 (2, vue不支持IE8 (3, vue封装的比较深入,不利于seo优化, 报错不明显,
16. 什么是MVVM?
MVVM是model-view-viewModel的简写, 它是一种开发模式, 它实现了视图和数据逻辑之间的分离, model模型指的是后端传递的数据, view视图指的是所看到的页面, viewModel是连接视图view和模型model的桥梁, 从而实现模型model到视图view的转化 和 视图view到模型model的转化, 也就是我们所说的双向数据绑定, 使用MVVM模式实现的前端框架有 vue 和 react
17. vue项目怎么打包app ?
(1 首先使用webpack打发布包, npm run build 文帕克 (2 然后通过Hbuilder 新建H5+App项目 (3 把第一步打包出的dist文件夹导入项目 (4 在项目中的manifest.json文件中进行打包配置 没类粉丝特 (5 点击Hbuilder工具菜单栏发行中的 原生App-云打包