Mam obliczoną właściwość na modelu i aby obliczyć, że potrzebuję właściwości od kontrolera (nie tej, która kontroluje model). Wiem, że jest needs:
, ale jest to tylko na
poziom kontrolera.
Jak mogę uzyskać właściwość w Ember z kontrolera innego niż ten, który zarządza modelem?Ember Uzyskiwanie właściwości z kontrolera w Modelu
Próbuję zrobić jakieś formatowanie, takie jak osoba, która [zadała to pytanie] [1], ale nie udało mi się tego, co zasugerowano tam.
Próbuję więc sformatować na modelu z wyliczoną właściwością, ale aby obliczyć tę właściwość, potrzebuję innej właściwości z kontrolera.
Każda pomoc jest bardzo doceniana! Dzięki!
Uwaga: używam EmberData do zarządzania modelem.
Edit:
W celu wyjaśnienia, co próbuję zrobić mam założyć przykład, który pokazuje problem
w ogólnym sposób: Przykładowa aplikacja pozwala numery wejściowe, przechowywać je ,
i pokaż je na liście. Możesz także wprowadzić "współczynnik konwersji", który nie zmienia samych danych modelu, ale prezentację na szablonie. Powiedzmy, że wprowadzisz numer 2, 2 zostanie zapisany w modelu, ale kiedy pojawi się na liście, zostanie "sformatowany" z wprowadzonym wcześniej współczynnikiem konwersji, a obliczona wartość pojawi się w szablonie. Problem polega na tym, że wartość, którą chcę sformatować, jest przechowywana na innym kontrolerze. Oto, co starałem dotąd:
nr 1 podejście:
komputerowa nieruchomości na ArrayController - używającneeds:
w kontrolerze przemierzać i uzyskać wartość
->jsfiddle
Problemy Napotkałem: Wygląda na to, że ArrayController pęka i szablon renderuje się tak, jakby w ogóle nie było zapisanych rekordów (uwaga: w przykładzie użyto pamięci lokalnej, więc utwórz kilka rekordów i odkomentuj obliczenia Właściwość d na ArrayController, a zobaczysz, że działa zgodnie z oczekiwaniami i pokazuje wprowadzone rekordy.# 2 Podejście:
komputerowa nieruchomości na samego modelu
->jsfiddle
Problemy jakie napotkałem:
nie mam pojęcia w jaki sposób mogę uzyskać właściwości z kontrolera podczas beeing wewnątrz modelu- # 3 podejścia:
Kierownice Helper ineeds:
na kontrolerze
1) Zdefiniuj obliczoną właściwość na kontrolerze (obsługującym model), aby uzyskać wartość z drugiego kontrolera. 2) utwórz pomocnika kierownicy i podaj wartość z modelu i wartość od kontrolera i zwróć obliczoną wartość
-> jsfiddle (Możesz znaleźć link do trzeciego jsfiddle w komentarzach, ponieważ nie mam jeszcze wystarczającej liczby punktów reputacji).
Problemy, które napotkałem:
Zamiast wyświetlać sformatowany numer, otrzymuję "NaN" dla każdej wartości w renderowanym szablonie.
Jeśli ktoś ma pomysł, jak rozwiązać ten problem, lub może wskazać mi właściwy kierunek, będzie świetny. Twoja pomoc jest naprawdę doceniana! Dziękuję za Twój czas!
możesz Skonfiguruj jsbin z jsfiddle z tym, co już próbował? to będzie o wiele łatwiejsze, aby pomóc – intuitivepixel
Link do 3 # podejścia: [jsfiddle] (http://jsfiddle.net/Nairam/kYkdZ/) – Nairam