首页 > 其他 > 详细

vue组件

时间:2019-03-18 21:03:48      阅读:138      评论:0      收藏:0      [点我收藏+]

Vue.component(‘indexmain‘,{
        template:‘<div><h1 @click="sendMsg">这是个按钮,可以改变父组件内容</h1></div>‘,
        data:function(){
            return {
                msg:‘indexmain‘
            }
        },
        methods:{
            sendMsg:function(){
                //自定义触发事件,this.$emit(‘自定事件名称‘,‘事件的内容‘)
                this.$emit(‘send‘,this.msg)
            }
        }
})
            
Vue.component(‘indexfooter‘,{
        template:`<div><h1 @click="changeMsg">这是{{msg}}</h1></div>`,
        data:function(){
            return {
                msg:‘indexfooter‘
            }
        },
        methods:{
            changeMsg:function(){
                this.msg = ‘更改内容‘
            }
        }
})

 

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
    </head>
    <body>
        <div id="app">
            <headnav user=‘xx‘></headnav>
            <indexmain @send=‘changeChild‘></indexmain>
            <indexfooter></indexfooter>
            
            <headnav :user=‘username‘></headnav>
            
            <h1>{{childContent}}</h1>
        </div>
        
        <script src="js/indexComponent.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            Vue.component(headnav,{
                    template:<div><h1>欢迎{{user}}</h1></div>,
                    props:[user],
                    data:function(){
                        return {
                            msg:headnav
                        }
                    }
            })
            import HelloWorld from ./components/HelloWorld.vue
            
            
            var app = new Vue({
                el:#app,
                data:{
                    username:隔壁老王,
                    childContent:‘‘
                },
                methods:{
                    changeChild:function(value){
                        console.log(value)
                        this.childContent = value
                    }
                }
            })
            
//            npm install -g cnpm --registry=https://registry.npm.taobao.org
//npm install -g @vue/cli
            //组件:要想父组件传递数据给子组件,那么需要使用props
            //如果想要子组件将数据传递给父父组件,那么需要使用自定义事件,$emit(事件名称,事件内容),进行触发,监听:@事件名称=‘要执行的函数’
            
            
        </script>
    </body>
</html>

 

vue组件

原文:https://www.cnblogs.com/wwthuanyu/p/10554839.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!