Ember-Component如何仅在“click”组件上添加边框? [英] Ember-Component how to add border to only on `click` component?

查看:114
本文介绍了Ember-Component如何仅在“click”组件上添加边框?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在点击事件中突出显示组件(需要将类名称添加为 addBorder )怎么做?当用户点击其他组件时,我需要从其他组件中删除 addBorder

I would like to highlight the component on click event.( need to add a class name as addBorder) how to do that? while user clicks on other component, I would require to remove addBorder from other components.

所以只有 click componentset将被突出显示。

so only the click componet will be highlighted at once.

我可以使用 jQuery 非常容易,但我正在寻找 ember 方式!!

I can do using jQuery very easily but I am looking for ember way!!

这是我的演示:现场演示链接

推荐答案

您可以添加类似 selectedItemTitle 的属性,将在点击 item.title 。然后,您可以将 selectedItemTitle 传递给组件。组件可以检查它的 item.title === selectedItemTitle 。如果是,则可以将如 isSelected 等属性设置为true。然后,使用 classNameBindings isSelected 绑定到一个类。

You can add property like selectedItemTitle which will be changed on click to item.title. Then you can pass this selectedItemTitle down to components. Component can check if its item.title === selectedItemTitle. If yes then property like isSelected can be set to true. Then you bind isSelected to a class using classNameBindings.

父组件模板:

{{#each model as |item|}}
    {{my-child item=item.title info=item.info tagName="li" selectedItemTitle=selectedItemTitle click=(action 'selectItem' item.title)
    }}
{{/each}}

请参阅工作演示

这篇关于Ember-Component如何仅在“click”组件上添加边框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆