Vue的组件

1、组件的概念

组件(Component)是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树

2、全局组件的注册(所有实例都能用)

注册一个全局组件语法格式如下:

  • Vue.component(tagName, options)
    tagName 为组件名,options 为配置选项。
  • 注册后,我们可以使用以下方式来调用组件:
app
app1

3、局部组件的注册

  • 我们也可以在实例选项中注册局部组件,这样组件只能在这个实例中使用
app
app1

4、父子组件通信(props)

  • prop 是父组件用来传递数据的一个自定义属性。
    父组件的数据需要通过 props 把数据传给子组件,子组件需要显式地用 props 选项声明 "prop":
  • 注意: prop 是单向绑定的:当父组件的属性变化时,将传导给子组件,但是不会反过来。
  • 动态 Props
    类似于用 v-bind 绑定 HTML 特性到一个表达式,也可以用 v-bind 动态绑定 props 的值到父组件的数据中。每当父组件的数据变化时,该变化也会传导给子组件:

  • 以下实例中将 v-bind 指令将 todo 传到每一个重复的组件中:

5、子父组件通信

  • 上面我们说过,props 是单向绑定的:当父组件的属性变化时,将传导给子组件,但是不会反过来。
  • 那么想一下子父通信怎么实现呢?
    机智如你发现:给子组件绑定事件,通过$emit将事件提交(可以携带参数),在父组件中绑定对应事件的处理函数就可以实现子父组件的通信了。

6、非父子组件通信

  • 非父子组件的通信没有办法通过绑定事件来解决了,那就需要通过生成一个中间Vue实例来做父子组件通信的媒介,一个时间通过 Vue实例.on()去处理传来的事件就可以完成两个互不相干的组件之间的通信了。
  • 只要思想不滑坡,方法总比问题多!!!

7、mixins重复代码封装,类似于django中的母板

8、slot插槽

这是一个标题
这是底部

你可能感兴趣的:(Vue的组件)