2018-09-22

2018-09-22  本文已影响0人  长安有故里_5e53

1.全局组件:

Vue.component('my-component',{

    template:`

<ul>

              <li></li>

              </ul>

            `})

newVue({el:'#app',})

2.局部:

newVue

({el:".nr",components:{"my-component":{template:`

                <li>这是组件部分</li>

                        `}            }      })

3.父传子:

Vue.component('my-father',{

                template:`

                <div>

                    <my-son v-bind:tit="title"></my-son>

                    <my-list v-bind:fruit="arr"></my-list>

                </div>

                `

                ,

                data:function(){

                    return{

                        arr:['apple','banana','orange'],

                        title:'水果列表'

                    }

                }

            })

            //获取title

            Vue.component('my-son',{

                props:['tit'],

                template:`

                  <h2>{{tit}}</h2>

                `

            })

            Vue.component('my-list',{

                props:['fruit'],

                template:`

                    <ul>

                        <li v-for="value in fruit">{{value}}</li>

                    </ul>

                `

            })

            new Vue({

                el:"#app",

            })

4.子传父:

Vue.component('my-father',{

            template:`

                <div>

                  <h1>{{mess}}</h1>

                  <my-child @send='revMsg'></my-child>

                </div>

            `,

            data:function(){

                return{

                    mess:''

                }

            },

            methods:{

              revMsg:function(txt){

                  this.mess=txt

              }

            }

        })

        Vue.component('my-child',{

            template:`

                <button @click='sendFather'>给父组件</button>

            `,

            data:function(){

                return{

                    msg:'ming'

                }

            },

            methods:{

                sendFather:function(){

//                  this.$emit('自定义事件',参数)

                    this.$emit('send',this.msg)

                }

            }

        })

        new Vue({

            el:"#app"

        })

上一篇下一篇

猜你喜欢

热点阅读