vue学习

1.$emit('data');//自定义一个data事件。$emit()触发事件,$on()监听事件,另外,父组件可以在使用子组件的地方直接用v-on绑定,不能用$on倾听子组件抛出的事件,而必须在模板里直接用v-on绑定。

2.data必须是一个函数。

Prop

使用 Prop 传递数据

组件实例的作用域是孤立的。这意味着不能 (也不应该) 在子组件的模板内直接引用父组件的数据。要让子组件使用父组件的数据,我们需要通过子组件的 props 选项。

子组件要显式地用 props 选项声明它期待获得的数据:

Vue.component('child', {
// 声明 props
props: ['message'],
// 就像 data 一样,prop 可以用在模板内
// 同样也可以在 vm 实例中像“this.message”这样使用
template: '<span>{{ message }}</span>'
})

然后我们可以这样向它传入一个普通字符串:

<child message="hello!"></child>

结果:hello

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

<div>
<input v-model="parentMsg">
<br>
<child v-bind:my-message="parentMsg"></child>
</div>

错误:显示Make sure to declare reactive data properties in the data option.,,,需要在实例中的data 中初始化一个parentMsg.

SLOT::

 

 

Vue组件中slot的用法

 

 

 

Vue组件中slot的用法

主要是让组件的可扩展性更强。

1. 使用匿名slot 
这里写图片描述

2. 给slot加个名字

这里写图片描述

如果不在有slot的组件里加入任何标签,slot什么都不会显示的。

 

posted @ 2017-07-26 15:24  钱钱钱啊  阅读(118)  评论(0编辑  收藏  举报