2013-02-14 15 views
5

Chcę zrobić porządek po opuszczeniu trasy, np. Zatrzymując liczniki czasu. Do tego potrzebuję zdarzenia, które wyzwala po opuszczeniu trasy, i potrzebuję dostępu do instancji kontrolera wewnątrz tego wydarzenia.Oczyszczanie Embera po opuszczeniu trasy

Jest wydarzeniem exit, ale nie dostać żadnych argumentów, a this.get('controller') wewnątrz niego nie działa zbyt - zwraca niezdefiniowanej.

Czy istnieje właściwy sposób na uzyskanie instancji kontrolera w zdarzeniu exit, czy może innym wydarzeniu, którego nie znam?

konfiguracja I this fiddle na przykładzie tego, co chcę ..

Odpowiedz

1

Można to osiągnąć poprzez wywołanie this.controllerFor('home'). Możesz spróbować tego in this JSFiddle.

To jest trochę denerwujące, więc ostatnio zostało użyte pull request has been merged, dzięki czemu można bezpośrednio używać this.controller, jak widać in this JSFiddle.

+0

Podobało mi się 'ten.kontroler'! Wielkie dzięki! Przy okazji zamierzają wycofać rzecz 'controllerFor' .. –

+0

@ShimonRachlenko Skąd to widziałeś? API zostało właśnie udokumentowane: http://goo.gl/7jXuI – louiscoquio

+0

Czytałem to gdzieś w Internecie, a także widziałem je w kodzie źródłowym, ale teraz widzę, że jest to 'ControllerMixin.controllerFor', który jest przestarzały !! Mój błąd.. –

Powiązane problemy