1:v-if 呢如果条件为false,那么在生成的HTML语句中,条件为false的标签不会生成在代码中;v-show呢如果条件为false,运行后,还是生成了条件为false所在的标签,但是只是让其display属性为none,即该标签不进行显示.
2:v-for中key属性的值应唯一,起到身份认证的作用,避免v-for"就地更新"策略导致的问题
3:vue中的data是一个对象类型,对象类型的数据是按引用传值的,这就会导致所有组件的实例都共享同一份数据,这是不对的,我们要的是每个组件实例都是独立为了解决对象类型数据共享的问题,我们需要将 data 定义成一个函数,每个实例需要通过调用函数生成一个独立的数据对象
4:vue.js采用的是数据劫持结合发布和-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调
5:Vue实例有一个完整的生命周期,也就是说从开始创建、初始化数据、编译模板、挂在DOM、渲染-更新-渲染、卸载等一系列过程,我们成为Vue 实例的生命周期
7:vue中的ref是把当前dom元素 “ 抽离出来 ” ,只要通过 this.$refs就可以获取到(注意this指向),此方法尤其适用于父元素需要操作子组件的dom元素,这也是子传父传递数据的一种方法
8:axios
9:父传子,子传夫,兄弟组件传值
10:在数据更新后重新获取数组元素并赋值给原数组
11:VueX是适用于在Vue项目开发时使用的状态管理工具。试想一下,如果在一个项目开发中频繁的使用组件传参的方式来同步data中的值,一旦项目变得很庞大,管理和维护这些值将是相当棘手的工作。为此,Vue为这些被多个组件频繁使用的值提供了一个统一管理的工具——VueX。在具有VueX的Vue项目中,我们只需要把这些值定义在VueX中,即可在整个Vue项目的组件中使用。
12:组件中写 name 选项有什么作用?
1、项目使用 keep-alive 时,可搭配组件 name 进行缓存过滤 2、DOM 做递归组件时需要调用自身 name 3、vue-devtools 调试工具里显示的组见名称是由 vue 中组件 name 决定的
13怎么捕获 Vue 组件的错误信息?
1、errorCaptured 是组件内部钩子,当捕获一个来自子孙组件的错误时被调用,接收 error、 vm、info 三个参数,return false 后可以阻止错误继续向上抛出 2、errorHandler 为全局钩子,使用 Vue.config.errorHandler 配置,接收参数与 errorCaptured 一 致,2.6 后可捕捉 v-on 与 promise 链的错误,可用于统一错误处理与错误兜底
14Vue 中 slot 的使用方式,以及 slot 作用域插槽的用法
当组件当做标签进行使用的时候,用 slot 可以用来接受组件标签包裹的内容,当给 slot 标签添加 name 属性的 时候,可以调换响应的位置作用域插槽其实就是带数据的插槽,父组件接收来自子组件的 slot 标签上通过 v-bind 绑定进而传递过来的数 据,父组件通过 scope 来进行接受子组件传递过来的数据