2017-08-03 55 views
0

我想突出component上的click事件(需要添加一個類名爲addBorder)該怎麼做?當用戶點擊其他組件時,我需要從其他組件中刪除addBorder。因此只有click組件會一次突出顯示。Ember-Component如何在「click」組件上添加邊框?

我可以很容易地使用jQuery,但我在尋找ember的方式!

這裏是我的演示:Live Demo Link

+0

https://ember-twiddle.com/4eaf4c8d3ab83e027e4e24db280c774d?openFiles=templates.components.my-parent.hbs%2Ctemplates.components.my-child.hbs – kumkanillam

+0

如果用戶點擊返回相同的元素如何刪除類(切換類) – 3gwebtrain

+0

在'changeSeletectedIndex'函數中,檢查現有的selectedIndex和單擊索引是否相同,然後使其selectedIndex爲空...沒有什麼特別的餘燼,畢竟它的javascript – kumkanillam

回答

1

您可以像selectedItemTitle將在click改爲item.title添加屬性。然後你可以將這個selectedItemTitle傳遞給組件。組件可以檢查它的item.title === selectedItemTitle。如果是,則像isSelected這樣的屬性可以設置爲true。然後你使用classNameBindingsisSelected綁定到一個類。

父組件模板:

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

working demo

+0

現場演示不起作用,請你看看它? (點擊列表上什麼也不做) – 3gwebtrain

+0

當然。給我一秒鐘。 –

+0

請立即嘗試。 :) –