我感觉写得有点复杂

我感觉写得有点复杂

<!DOCTYPE html>

<html>


<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title></title>

    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>

    <style>

    button {

        padding: 10px 20px;

        margin: 20px auto;

        border-radius: 5px;

        outline: none;

    }


    .red {

        background: pink;

    }


    .green {

        background: green;

    }

    </style>

</head>


<body>

    <div id="app">

        <!-- 在此补充代码 -->

        <!-- <box></box> -->

        <box></box>

        <btntwo color="green"></btntwo>

    </div>

    <script>

    // 在此补充代码

    Vue.prototype.bus = new Vue();


    Vue.component('box',{

        template: '<btnone></btnone>'

    })


    Vue.component('btnone',{

        data() {

            return{

                newColor: this.color

            }

        },

        template: '<button @click.self="handleClick" :class="newColor">组件3</button>',

        methods: {

            handleClick() {

                this.bus.$emit('twoChange','red')

            }

        },

        mounted() {

            this.bus.$on('oneChange',newColor => {

                this.newColor = newColor

            })

        }

    })

   

    Vue.component('btntwo',{

        props:['color'],

        data() {

            return{

                newColor: this.color

            }

        },

        template: '<button :class="newColor" @click.self="handleClick">组件2</button>',

        methods: {

            handleClick() {

                this.bus.$emit('oneChange','green')

            }

        },

        mounted() {

            this.bus.$on('twoChange',newColor => {

                this.newColor = newColor

            })

        }

    })



    var vm = new Vue({

        el: "#app"

    })

    </script>

</body>


</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕夭夭 2020-05-21 16:58:16

同学你好,老师看了一下并没有很复杂哦,代码实现正确,继续加油,祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师