Vue 组件

2018-09-19  本文已影响0人  北觅_Sir

因为组件是可复用的 Vue 实例,所以它们与 new Vue 接收相同的选项,例如 data、computed、watch、methods 以及生命周期钩子等。仅有的例外是像 el 这样根实例特有的选项。

组件的复用

你可以将组件进行任意次数的复用:

<div id="components-demo">
 <button-counter></button-counter>
 <button-counter></button-counter>
 <button-counter></button-counter>
</div>

data 必须是一个函数

一个组件的 data 选项必须是一个函数,因此每个实例可以维护一份被返回对象的独立的拷贝:

data: function () {
  return {
    count: 0
  }

这里有两种组件的类型:全局组件和局部组件。

//全局注册
Vue.component('my-component-name', {
  // ... options ...
})

Prop 是你可以在组件上注册的一些自定义特性。当一个值传递给一个 prop 特性的时候,它就变成了那个组件实例的一个属性。为了给博文组件传递一个标题,我们可以用一个 props 选项将其包含在该组件可接受的 prop 列表中:

Vue.component('blog-post', {
  props: ['title'],
  template: '<h3>{{ title }}</h3>'
})

我们可以使用 v-bind 来动态传递 prop。

组件之间的传值

1.父给子传:用属性传;
2子给父传:用事件传(方法);
3同级之间传值:用中间量传;

上一篇 下一篇

猜你喜欢

热点阅读