知识点

作者: jocode | 来源:发表于2020-02-04 17:36 被阅读0次

一、props特性

传入对象形式进行props校验,
required:true 必须要有值
props不可以直接修改,用emit()修改 非props特性会继承到根元素上,attrs 实例属性,可以获取到组件的非props特性的集合
可以设置 inheritAttrs 选项的值为 false 。来禁用非props特性的继承。

二、下面两种情况修改数组时,不会引起页面的更新:

1. 直接通过数组的下标去修改数组项目。
2. 直接通过数组的length去修改数组的长度时。

解决方法
针对第一种情况:
1. 全局方法 Vue.set(target, index, newValue)
2. 实例方法 vm.$set(target, index, newValue)
针对第二种情况:
1. 使用数组 splice

三、v-model

在组件上
<lv-input type="text" v-model="msg" /> //双向数据绑定
展开
<lv-input type="text" :value="msg" @input="msg = $event" />

四、.native

在组件上使用的事件默认都是自定义事件。
加.native修饰符变成原生事件,@focus.native="fn2"

五、依赖注入

谁提供数据,就给谁配置 provide 选项
provide () {
return {
color: this.color
}
}
谁要用这份数据,就给谁配置 inject 选项
inject: ['color']

六、keep-alive

  1. include 通过设置这个属性,来控制需要缓存的组件
  2. exclude 通过设置这个属性,来控制不需要缓存的组件
  3. max 通过设置这个属性,来控制最多缓存几个组件

七、动态路由

八、导航守卫

  1. 全局守卫
  2. 全局前置 beforeEach
  3. 全局后置 afterEach
  4. 全局解析 beforeResolve
  5. 路由独享守卫
  6. 进入之前 beforeEnter
  7. 组件级别的守卫
  8. 进入之前 beforeRouteEnter
  9. 更新之前 beforeRouteUpdate
  10. 离开之前 beforeRouteLeave

九、中央事件管理器(事件总线)

其实就是一个发布订阅模式。是通过一个空的vue实例对象,然后调用这个对象的on去做订阅。再通过emit去做发布

let bus = new Vue()             //创建空对象
created () {
        bus.$on('abc', (name) => {  //创建时订阅一个点击事件,
        this.name = name
    })
}
methods: {
fn1 () {
        bus.$emit('abc', '张三')  //点击时触发发布事件
    }
}

十、store

state: 状态
getters: 对 state 的派生,可以理解为 store 的计算属性

  • 存放针对store的state数据或者其他getter数据做的计算属性
    1. state 自动接收到的当前store的state对象
    1. getters 自动接收到的当前state的getters对象
    1. 必须有返回值
    1. 它也不能直接修改
      mutations: 修改 state 的唯一操作就是提交 mutation。
  • 唯一能修改仓库state数据的地方
    1. state 是自动接收到的当前的state对象
    1. payload 是提交这个 mutation 时,传递过来的参数
      actions: 类似于 mutations , 用来处理异步。
  • 存放异步的动作,它也不能直接去修改state的。而是在里面调用了mutation
    1. context 是自动接收到的当前的 store 实例对象(上下文)它里面有 state、getters、commit、dispatch 等。
    1. payload 是派发这个 action 时,传递过来的参数
      modules: 对仓库 分割成 模块

mapState(): sate的辅助函数
mapGetters(): getters的辅助函数
mapMutations(): mutations的辅助函数
mapActions(): actions的辅助函数

十一、vue 的组件库

  1. elementui PC端
  2. mintui mobile端
  3. vant mobile端 有赞
  4. vux mobile端
  5. ant-design-vue PC端

十二、正向代理

代码的目标网站只有一个的时候:(vue.config.js)的配置文件

module.exports = {
  devServer: {
    proxy: 'https://m.maoyan.com' // 需要代理的目标网站的地址,只写域名就好。
  },
  prot: '9090'  //修改端口号
}

十二、全局组件

data: function() {
        return {
           //返回的数据是不同的数据
          msg: '',
        }
      }

十三、 template

1. template 是 vue 中内置的组件
2. 如果要同时对多个相邻元素做条件渲染时,可以将 v-if 写在 template 上。
3. template 元素不会渲染到页面上,也就不会去影响页面的布局,
    故加不了v-show属性

十四、v-if与v-show的区别

  1. v-if 才是真正的条件渲染,v-show 只是简单的控制元素的样式
  2. v-if 有更高的切换开销。v-show 有更高的初始渲染开销。
  3. 频繁切换使用 v-show 。否则 v-if
  4. v-if 有配套的 v-else v-else-if 。而 v-show 没有
  5. v-if 可以配合 template 使用,而 v-show 不可以。

相关文章

  • 【文魁大脑实用记忆第二期】萧进才第20次《机械、经济学知识点》

    1、静态指标知识点 2、动态指标知识点 3、不确定分析知识点 4、夹具知识点 5、定位知识点

  • 普通的随笔

    在医院中的努力呃 过知识点,过知识点,过知识点

  • 测试开发知识点(三)

    传送门 测试开发知识点(一)测试开发知识点(二)测试开发知识点(三)测试开发知识点(四)测试开发知识点(五) 自动...

  • 测试开发知识点(一)

    传送门 测试开发知识点(一)测试开发知识点(二)测试开发知识点(三)测试开发知识点(四)测试开发知识点(五) 软件...

  • 测试开发知识点(二)

    传送门 测试开发知识点(一)测试开发知识点(二)测试开发知识点(三)测试开发知识点(四)测试开发知识点(五) We...

  • 面试被问到的问题

    传送门测试开发知识点(一)测试开发知识点(二)测试开发知识点(三)测试开发知识点(四)测试开发知识点(五) 1、请...

  • 前端基础知识点

    1.html常见知识点 2.css常见知识点 3.js常见知识点 数组知识点 4.计算机网络知识点 5.数据结构 ...

  • 复习 《高难度沟通》

    分享者: 复习知识点: 对知识点的理解(用你自己的话表达): 知识点的适用(使用)场景: 可以链接哪些知识点: 其...

  • 《逻辑谬误》复习知识点

    分享者: 复习知识点: 对知识点的理解(用你自己的话表达): 知识点的适用(使用)场景: 可以链接哪些知识点: 其...

  • 《批判性思维》课程复习

    分享者: 复习知识点: 对知识点的理解(用你自己的话表达): 知识点的适用(使用)场景: 可以链接哪些知识点: 其...

网友评论

      本文标题:知识点

      本文链接:https://www.haomeiwen.com/subject/uazrxhtx.html