美文网首页
vue基础知识总结

vue基础知识总结

作者: itHulk | 来源:发表于2019-03-26 17:39 被阅读0次

组件部分

Vue.js 组件主要分成三类:

1.由 vue-router 产生的每个页面,它本质上也是一个组件(.vue),主要承载当前页面的 HTML 结构,会包含数据获取、数据整理、数据可视化等常规业务。整个文件相对较大,但一般不会有 props 选项和 自定义事件,因为它作为路由的渲染,不会被复用,因此也不会对外提供接口。
2.不包含业务,独立、具体功能的基础组件,比如日期选择器、模态框等。这类组件作为项目的基础控件,会被大量使用,因此组件的 API 进行过高强度的抽象,可以通过不同配置实现不同的功能。比如开源的 iView,就是包含了 50 多个这样基础组件的 UI 组件库
3.业务组件。它不像第二类独立组件只包含某个功能,而是在业务中被多个页面复用的,它与独立组件的区别是,业务组件只在当前项目中会用到,不具有通用性,而且会包含一些业务,比如数据请求;而独立组件不含业务,在任何项目中都可以使用,功能单一,比如一个具有数据校验功能的输入框

Vue组件API:

props slot event(自定义事件)

Vue组件通讯:

一般来说,组件可以有以下几种关系:



A 和 B、B 和 C、B 和 D 都是父子关系,C 和 D 是兄弟关系,A 和 C 是隔代关系(可能隔多代)。组件间经常会通信,Vue.js 内置的通信手段一般有两种:

  • $ref:给元素或组件注册引用信息。
  • $parent / $children:给元素或组件注册引用信息。

这两种都是直接得到组件实例,使用后可以直接调用组件的方法或访问数据,比如下面的示例中,用 ref 来访问组件(部分代码省略):

// component-a
export default {
  data () {
    return {
      title: 'Vue.js'
    }
  },
  methods: {
    sayHello () {
      window.alert('Hello');
    }
  }
}
<template>
  <component-a ref="comA"></component-a>
</template>
<script>
  export default {
    mounted () {
      const comA = this.$refs.comA;
      console.log(comA.title);  // Vue.js
      comA.sayHello();  // 弹窗
    }
  }
</script>

$parent 和 $children 类似,也是基于当前上下文访问父组件或全部子组件的。

这两种方法的弊端是,无法在跨级或兄弟间通信,比如下面的结构:

// parent.vue
<component-a></component-a>
<component-b></component-b>
<component-b></component-b>

我们想在 component-a 中,访问到引用它的页面中(这里就是 parent.vue)的两个 component-b 组件,那这种情况下,就得配置额外的插件或工具了,比如 Vuex 和 Bus 的解决方案。不过,它们都是依赖第三方插件的存在,这在开发独立组件时是不可取的。后续陆续介绍一些黑科技,它们完全不依赖任何三方插件,就可以轻松得到任意的组件实例,或在任意组件间进行通信,且适用于任意场景。

相关文章

  • Vue学习总结(2019.7.31-8.4)

    Vue学习总结 目录 vue基础知识(1-13)vue 引入,实例化vue 数据 & 方法vue 绑定(:)vue...

  • SpringBoot+Vue2.x登陆功能

    这篇文章只做总结,关于Vue的具体使用不涉及,因此你需要具备Vue的基础知识,使用Vue搭配Element-ui以...

  • Vue基础知识总结

    请阅读以下博客,通俗易懂 Vue基础知识总结 Vue.js——60分钟快速入门 Vue.js——60分钟组件快速入...

  • vue.js基础入门

    该文章只是我对vue基础知识的一点总结,详细vue知识请看Vue官方文档。 一、什么是vue.js 是一个轻量级M...

  • vue-basic

    vue 基础知识

  • vue 基础知识总结

    这里我们学习vue1.0和2.0看看他们之间有什么不同; 1.vue的基础指令## 1.1 v-on 指令的使用;...

  • vue基础知识总结

    什么是生命周期: 生命周期就是在vue实例在某一个时间点会自动执行的函数 breforeCreat://创建实例之...

  • vue基础知识总结

    组件部分 Vue.js 组件主要分成三类: 1.由 vue-router 产生的每个页面,它本质上也是一个组件(....

  • Vue基础知识

    Vue基础知识 常用Java Script框架 jQuery Backbone Angular vue React...

  • VUE基础知识入门

    VUE基础知识入门 VUE官方文档教程链接:VUE 1.什么是Vue.js Vue.js(读音 /vjuː/, 类...

网友评论

      本文标题:vue基础知识总结

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