2017-08-03 15 views
0

clickイベントでcomponentを強調したいと思います(クラス名をaddBorderとして追加する必要があります)。ユーザーが他のコンポーネントをクリックしている間に、他のコンポーネントからaddBorderを削除する必要があります。Ember-Component `click`コンポーネントにのみボーダーを追加する方法は?

したがって、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を空にします... emberで特別なことはありません、そのすべてのjavascriptの後に – kumkanillam

答えて

1

あなたはitem.titleclickに変更されますselectedItemTitleのようにプロパティを追加することができます。

は、ここに私のデモです。次に、このselectedItemTitleをコンポーネントに渡すことができます。コンポーネントは、そのitem.title === selectedItemTitleかどうかを確認できます。はいの場合、isSelectedのようなプロパティをtrueに設定できます。次に、isSelectedclassNameBindingsを使用してクラスにバインドします。

親コンポーネントテンプレート:

{{#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

私に1秒を与えてください。 –

+0

今すぐお試しください。 :) –

関連する問題