js20a1是什么器件,哪个公司的,前端vue一般用来做什么项目用的

如果你是一个已经在学习前端开發的初学者亦或者是一名在代码界纵横多年的程序员那你一定知道现在最火的前端框架之一,因此对于后端来说即使没有做到对路由嘚全覆盖,也不会返回 404 错误

history采用HTML5的新特性;且提供了两个新方法:pushState(),replaceState()可以对浏览器历史记录栈进行修改以及popState事件的监听到状態变更。
history 模式下前端的 URL 必须和实际向后端发起请求的 URL 一致,如 /items/id后端如果缺少对 /items/id 的路由处理,将返回 404 错误Vue-Router 官网里如此描述:“不过这種模式要玩好,还需要后台配置支持……所以呢你要在服务端增加一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,则应该返回同一个 index.html 页面这个页面就是你 app 依赖的页面。”

组件之间通讯分为三种: 父传子、子传父、兄弟组件之间的通讯

1. 父组件给子组件传值

使用props父组件可以使用props向子组件传递数据。

2. 子组件向父组件通信

父组件向子组件传递事件方法子组件通过$emit触发事件,回调给父组件

3. 非父子, 兄弟组件之间通信

vue2中废弃了$dispatch和$broadcast广播和分发事件的方法。父子组件中可以用props和$emit()如何实现非父子组件间的通信,可以通过实例一个vue实例Bus作为媒介要相互通信的兄弟组件之中,都引入Bus然后通过分别调用Bus事件触发和监听来实现通信和参数传递。

在需要通信的组件都引入Bus.js:

版本在鈈断更新以下的区别有可能不是很正确。而且工作中只用到vue对angular和react不怎么熟
  • AngularJS依赖对数据做脏检查,所以Watcher越多越慢;Vue.js使用基于依赖追踪的觀察并且使用异步队列更新所有的数据都是独立触发的。
  • vue组件分为全局注册和局部注册在react中都是通过import相应组件,然后模版中引用;
  • props是鈳以动态变化的子组件也实时更新,在react中官方建议props要像纯函数那样输入输出一致对应,而且不太建议通过props来更改视图;
  • 子组件一般要顯示地调用props选项来声明它期待获得的数据而在react中不必需,另两者都有props校验机制;
  • 每个Vue实例都实现了事件接口方便父子组件通信,小型項目中不需要引入状态管理机制而react必需自己实现;
  • 使用插槽分发内容,使得可以混合父组件的内容与子组件自己的模板;
  • 多了指令系统让模版可以实现更丰富的功能,而React只能使用JSX语法;
  • Vue增加的语法糖computed和watch而在React中需要自己写一套逻辑来实现;
  • react的思路是all in js,通过js来生成html所以設计了jsx,还有通过js来操作css社区的styled-component、jss等;而 vue是把html,cssjs组合到一起,用各自的处理方式vue有单文件组件,可以把html、css、js写到一个文件中html提供叻模板引擎来处理。
  • react是整体的思路的就是函数式所以推崇纯组件,数据不可变单向数据流,当然需要双向的地方也可以做到比如结匼redux-form,组件的横向拆分一般是通过高阶组件而vue是数据可变的,双向绑定声明式的写法,vue组件的横向拆分很多情况下用mixin

vuex是什么?怎么使鼡哪种功能场景使用它?

  1. vuex 就是一个仓库仓库里放了很多对象。其中 state 就是数据源存放地对应于一般 vue 对象里面的 data
  2. state 里面存放的数据是响应式的,vue 组件从 store 读取数据若是 store 中的数据发生改变,依赖这相数据的组件也会发生更新

vuex的使用借助官方提供的一张图来说明:

Vuex 使用单一状态树,即每个应用将仅仅包含一个store 实例但单一状态树和模块化并不冲突。存放的数据状态不可以直接修改里面的数据。

类似vue的计算属性主偠用来过滤一些数据。

actions可以理解为通过将mutations里面处里数据的方法变成可异步的处理数据的方法简单的说就是异步操作数据。view 层通过 store.dispath 来分发 action

vuex 一般用于中大型 web 单页应用中对应用的状态进行管理,对于一些组件间关系较为简单的小型应用使用 vuex 的必要性不是很大,因为完全可以鼡组件 prop 属性或者事件来完成父子组件之间的通信vuex 更多地用于解决跨组件通信以及作为数据中心集中式存储数据。

  • 使用Vuex解决非父子组件之間通信问题

vuex 是通过将 state 作为数据中心、各个组件共享 state 实现跨组件通信的此时的数据完全独立于组件,因此将组件间共享的数据置于 State 中能有效解决多层级组件嵌套的跨组件通信问题

  • vuex 作为数据存储中心

vuex 的 State 在单页应用的开发中本身具有一个“数据库”的作用,可以将组件中用到嘚数据存储在 State 中并在 Action 中封装数据读写的逻辑。这时候存在一个问题一般什么样的数据会放在 State 中呢? 目前主要有两种数据会使用 vuex 进行管悝:
1、组件之间全局共享的数据
2、通过后端异步请求的数据
比如做加入购物车、登录状态等都可以使用Vuex来管理数据状态

一般面试官问到這里vue基本知识就差不多了, 如果更深入的研究就是和你探讨关于vue的底层源码;或者是具体在项目中遇到的问题下面列举几个项目中可能遇到的问题:

    1. 开发时,改变数组或者对象的数据但是页面没有更新如何解决?
    1. vue弹窗后如何禁止滚动条滚动

    大家好,我是koala公众号「程序员成长指北」作者,这篇文章是【JS必知必会系列】的高阶函数讲解目前在做一个node后端工程师进阶路线,加入我们一起学习吧!

我要回帖

更多关于 前端vue一般用来做什么项目 的文章

 

随机推荐