单击父组件中的另一个按钮时,如何在子组件上的按钮中添加动态类名?

Anji

我有一个nuxt.js应用程序,Child Component当单击存在的按钮时,我想向存在的按钮(动态按钮)添加类名Parent Component我尝试使用Event Bus,它能够将事件从父级发送到子级,但动态类未附加到按钮上。动态按钮将突出显示CSS效果。任何建议或指南都将受到高度赞赏。

#父组件

<ChildComponent :id="id"/>
<button @click="sendMessageToChild()" class="btn btn-block btn-primary">Click Here</button>
                  
methods: {
    sendMessageToChild() {
        this.$root.$emit('highlight')
    },
}

子组件

<button  class="btn btn-primary btn-block text-center rounded":class="{ highlight }">Buy</button>
<button  class="btn btn-primary btn-block text-center rounded":class="{ highlight }">Buy</button>
<button  class="btn btn-primary btn-block text-center rounded":class="{ highlight }">Buy</button>
<button  class="btn btn-primary btn-block text-center rounded":class="{ highlight }">Buy</button>

data() {
    return {
        highlight: false,
        timer: null,
    }
},
mounted() {
    this.$root.$on('highlight', () => {
        this.highlight()
    })
},
methods: {
    highlight() {
        this.highlight = true
        clearTimeout(this.timer)
        this.timer = setTimeout(() => {
            this.highlight = false
        }, 2000)
    },
}

单击按钮后的#CSS效果Click Here,应Child Component在子组件中的#CSS中的所有动态按钮上突出显示

.highlight {
    background:orange,
    color:#fff;
    border:1px #000 solid;
}

编辑后我的答案

父组件:

点击这里
data() {
    return {
        highlight: false,
        timer: null,
    }
},
methods: {
    sendMessageToChild() {
        this.highlight = true
        clearTimeout(this.timer)
        this.timer = setTimeout(() => {
            this.highlight = false
        }, 2000)
    },
}

.highlight {
    animation: shake 1s cubic-bezier(0.36, 0.07, 0.19, 0.97) both infinite;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    perspective: 1000px;
}

子组件:

<button  class="btn btn-primary btn-block text-center rounded":class="{ highlight }">Buy</button>
<button  class="btn btn-primary btn-block text-center rounded":class="{ highlight }">Buy</button>
<button  class="btn btn-primary btn-block text-center rounded":class="{ highlight }">Buy</button>
<button  class="btn btn-primary btn-block text-center rounded":class="{ highlight }">Buy</button>

props: {
    id: {
        type: Number,
        required: true,
    },
    highlight: {
        type: Boolean,
        required: false,
    },
},
布萨吉拉·卜拉欣

父组件和子组件之间的交互应该使用prop而非事件来完成,您可以highlight在parent中定义为data属性,并将其作为prop传递给子组件:

父母:

<ChildComponent :id="id"   :highlight="highlight"/>
<button @click="highlight"  class="btn btn-block btn-primary">Click Here</button>
  ...
data() {
    return {
        highlight: false,
        timer: null,
    }
},

methods: {
    highlight() {
        this.highlight = true
        clearTimeout(this.timer)
        this.timer = setTimeout(() => {
            this.highlight = false
        }, 2000)
    },

}

子组件:

<button  class="btn btn-primary btn-block text-center rounded":class="{ highlight }">Buy</button>
<button  class="btn btn-primary btn-block text-center rounded":class="{ highlight }">Buy</button>
<button  class="btn btn-primary btn-block text-center rounded":class="{ highlight }">Buy</button>
<button  class="btn btn-primary btn-block text-center rounded":class="{ highlight }">Buy</button>

...

props:["highlight"]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单击另一个组件中的按钮时,如何显示/隐藏React组件?

来自分类Dev

如何在角度2中单击按钮时将数据从一个组件发送到另一个组件

来自分类Dev

如何在角度2中单击按钮时将数据从一个组件发送到另一个组件

来自分类Dev

如何在单击一次按钮时渲染另一个React组件?(功能组件)

来自分类Dev

如何在Angular的子组件中单击按钮时为父组件属性设置值

来自分类Dev

单击按钮时,从JFrame中的另一个类添加JPanel

来自分类Dev

从角度 4 中的另一个组件按钮触发按钮单击

来自分类Dev

如何通过单击按钮将另一个Razor组件加载到Razor组件中?

来自分类Dev

如何在React.js中从一个组件(子组件)到另一个组件(父组件)获取值?

来自分类Dev

如何在React Hooks中的父级上单击按钮时将焦点放在子级组件的输入上

来自分类Dev

如何在按钮单击事件中从另一个类调用方法?

来自分类Dev

(反应)单击提交按钮时如何获取另一个组件的状态?

来自分类Dev

单击另一个div中的按钮时,如何为div添加CSS样式

来自分类Dev

单击按钮将组件添加到另一个组件

来自分类Dev

在react中动态添加另一个组件

来自分类Dev

如何在一个表单上单击按钮并在另一个类中的字符串中获取文本框的值?

来自分类Dev

如何在Angular中的另一个动态加载的组件内渲染组件?

来自分类Dev

如何在按钮上单击以显示其类的另一个布局(xml)?

来自分类Dev

在将组件移动到另一个父组件中时如何保存组件的实例?

来自分类Dev

单击同一类中的另一个按钮时,通过 jquery 更改按钮的类更改回

来自分类Dev

使用按钮映射时,如何通过子组件中的按钮显示/隐藏父组件中的组件?

来自分类Dev

使用按钮映射时,如何通过子组件中的按钮显示/隐藏父组件中的组件?

来自分类Dev

如何通过另一个组件中的操作将类名切换到一个组件?

来自分类Dev

单击另一个活动中的按钮时,调用检查Internet连接类

来自分类Dev

vue单击父按钮,使子组件中的按钮单击

来自分类Dev

如何监听另一个组件中的按钮点击

来自分类Dev

如何在NetBean Java中的jframe中存在的另一个面板中的其他面板上单击按钮时显示面板

来自分类Dev

在另一个类中添加组件时,JPanel不会更新

来自分类Dev

在另一个类中添加组件时,JPanel不会更新

Related 相关文章

  1. 1

    单击另一个组件中的按钮时,如何显示/隐藏React组件?

  2. 2

    如何在角度2中单击按钮时将数据从一个组件发送到另一个组件

  3. 3

    如何在角度2中单击按钮时将数据从一个组件发送到另一个组件

  4. 4

    如何在单击一次按钮时渲染另一个React组件?(功能组件)

  5. 5

    如何在Angular的子组件中单击按钮时为父组件属性设置值

  6. 6

    单击按钮时,从JFrame中的另一个类添加JPanel

  7. 7

    从角度 4 中的另一个组件按钮触发按钮单击

  8. 8

    如何通过单击按钮将另一个Razor组件加载到Razor组件中?

  9. 9

    如何在React.js中从一个组件(子组件)到另一个组件(父组件)获取值?

  10. 10

    如何在React Hooks中的父级上单击按钮时将焦点放在子级组件的输入上

  11. 11

    如何在按钮单击事件中从另一个类调用方法?

  12. 12

    (反应)单击提交按钮时如何获取另一个组件的状态?

  13. 13

    单击另一个div中的按钮时,如何为div添加CSS样式

  14. 14

    单击按钮将组件添加到另一个组件

  15. 15

    在react中动态添加另一个组件

  16. 16

    如何在一个表单上单击按钮并在另一个类中的字符串中获取文本框的值?

  17. 17

    如何在Angular中的另一个动态加载的组件内渲染组件?

  18. 18

    如何在按钮上单击以显示其类的另一个布局(xml)?

  19. 19

    在将组件移动到另一个父组件中时如何保存组件的实例?

  20. 20

    单击同一类中的另一个按钮时,通过 jquery 更改按钮的类更改回

  21. 21

    使用按钮映射时,如何通过子组件中的按钮显示/隐藏父组件中的组件?

  22. 22

    使用按钮映射时,如何通过子组件中的按钮显示/隐藏父组件中的组件?

  23. 23

    如何通过另一个组件中的操作将类名切换到一个组件?

  24. 24

    单击另一个活动中的按钮时,调用检查Internet连接类

  25. 25

    vue单击父按钮,使子组件中的按钮单击

  26. 26

    如何监听另一个组件中的按钮点击

  27. 27

    如何在NetBean Java中的jframe中存在的另一个面板中的其他面板上单击按钮时显示面板

  28. 28

    在另一个类中添加组件时,JPanel不会更新

  29. 29

    在另一个类中添加组件时,JPanel不会更新

热门标签

归档