ynchuan / blog

https://github.com/ynchuan/blog/issues
http://ynchuan.github.io/blog
0 stars 0 forks source link

VUE #55

Open ynchuan opened 5 years ago

ynchuan commented 5 years ago

vue模板编译工具

组件

child: 
<div>
    <slot name='notice'>HAHA</slot> BALABALA
</div>
parent: 
<child>
    <div slot='notice'>HEIHEI</div>
</child>
child: 
<div>
    <slot name='notice' :data='user'>HAHA</slot> BALABALA
</div>
parent: 
<child>
     <template slot-scope='prop' slot='notice'>
         <div>{{prop.data}}</div>
     </template>
</child>
<child>
    <template slot-scope='prop' slot='notice'>
        <div>{{prop.data}}</div>
    </template>
</child>
<child>
    <div slot='notice'>HEIHEI</div>
</child>

child: {
    data: () => {
        return {
            data: 'inner subCompontent Data'
        }
    },
    template: `
        <div>
            CHILD COMPONENT
            <slot name='notice' :data=data></slot>
        </div>`
}
<transition>
  <keep-alive>
    <component :is="view"></component>
  </keep-alive>
</transition>

事件

只有组件节点才可以添加自定义事件,并且添加原生 DOM 事件需要使用 native 修饰符;而普通元素使用 .native 修饰符是没有作用的,也只能添加原生 DOM 事件