zoukankan      html  css  js  c++  java
  • vue组件

    
    
    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>

     

  • 相关阅读:
    inline-block 文字与图片不对齐
    js去除数组重复项
    react2
    kfaka windows安装
    sigar 监控服务器硬件信息
    Disruptor
    Servlet 3特性:异步Servlet
    jvmtop 监控
    eclipse如何debug调试jdk源码
    一致性hash算法
  • 原文地址:https://www.cnblogs.com/wwthuanyu/p/10554839.html
Copyright © 2011-2022 走看看