Vue深度学习(6)- 组件

本文介绍了Vue中如何使用Vue.extend()创建组件,并通过Vue.component()进行全局注册的方法。此外,还详细讲解了如何利用Props机制在子组件中接收并显示父组件传递过来的数据。

使用组件

Vue中,可以用 Vue.extend() 创建一个组件构造器:

var MyComponent = Vue.extend({
  template:'..........' //选项
})

要把这个构造器用作组件,需要用 Vue.component(tag, constructor) 注册 :

// 全局注册组件,tag 为 my-component
Vue.component('my-component', MyComponent)

在注册之后,组件便可以用在父实例的模块中,以自定义元素 < my-component > 的形式使用。要确保在初始化根实例之前注册了组件:

<div id="example">
  <my-component></my-component>
</div>

demo

<div id="app">
    <my-component></my-component>
</div>
    var MyComponent = Vue.extend({
        template:"<div>A custom component</div>"
    });
    Vue.component("my-component",MyComponent);

    new Vue({
        el:"#app"
    });

Props 传递数据

组件实例的作用域是孤立的。这意味着不能并且不应该在子组件的模板内直接引用父组件的数据。可以使用 props 把数据传给子组件。

prop” 是组件数据的一个字段,期望从父组件传下来。子组件需要显式地用 props选项声明 props

Vue.component('child', {
  // 声明 props
  props: ['msg'],
  // prop 可以用在模板内
  // 可以用 `this.msg` 设置
  template: '<span>{{ msg }}</span>'
})

 

转载于:https://www.cnblogs.com/QianBoy/p/7912097.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值