2016-03-20 16 views
4

Öğe listemize sahip olduğum bir Angular2 projesinde çalışıyorum ve herhangi bir öğeyi tıklatarak, öğe ayrıntıları bileşenini kullanarak ayrıntılar sayfasını görüntüleyin. Kullanıcıların, sağ ve sol ok tuşlarını kullanarak öğeleri gezinmesine izin vermenin bir yolunu bulmaya çalışıyorum.Angular2 Ok Tuşlarını Kullanarak Gezinme

Öyleyse, bir öğe listemiz var ve örneğin kullanıcı listedeki ilk öğeyi tıklattığında öğe ayrıntılarını gösterir, şimdi istediğim şu ki, kullanıcı sağ ok tuşuna bastığında otomatik olarak sonraki ayrıntıların ayrıntılarını yüklemelidir listedeki öğe.

İki bileşenli ItemsListComponent ve ItemDetailsComponent'in her biri kendi yoluna sahip, ItemDetailsComponent bir parametre kimliğine sahiptir. Ve bir ItemsService'de saklanan öğelerin bir listesi var.

ItemDetails bileşeninde görüntülenecek iki düğme var Sonraki ve Önceki öğelerin her ikisi de aynı bileşendeki showNext (id) ve showPrevious (id) işlevlerini gösterir.

Her şey iyi çalışıyor, ancak sağ/sol ok tuş takımı olayını showNext (id) ve showPrevious (id) işlevlerine bağlayamıyorum.

Bileşen yapıcısında, belgede addEventListener kullanılarak bir olay dinleyicisi ekleyen bir yaklaşım düşünmüştüm, ancak bu, zarif bir çözüm olarak görünmüyor.

Bu konuyla ilgili herhangi bir yardım çok takdir edilecektir.

Not: jQuery yüzden bazı isabet ve yargılama ile saf Angular2 çözümü

+0

Lütfen neyi başarmaya çalıştığınızı gösteren bir kod ekleyin. –

+0

Yorum için teşekkür ederiz, bazı isabet ve deneme ile, cevabını buldum, tüm ihtiyaç vardı bu itemDetailsComponent ana div: (window: keydown) = "onKey ($ event)" –

cevap

11

arayan kullanmıyorum, cevabı buldum, bu ItemDetailsComponent benim ana div bu oldu gerekli tüm:

(window: keydown) = "onKey ($ event)"

+0

Sadece buldum (keydown) = "onKey ($ event)" da çalıştığı görülüyordu – kernowcode

+0

Harika! Bu da işe yarıyor. –

+1

Ayrıca, yerinde bir doğrulama varsa, anahtarlama kullanmak en iyisi olabilir, çünkü doğrulama, doğru seçim yapıldığında, anahtarlamada olduğu gibi çalışır. Yine de yine de tuşa basılmadı veya test edilmedi. – kernowcode

İlgili konular