Wo ist in Puremvc der richtige Ort, um den Tastaturhörer zu setzen, der eine Ansicht steuert?
-
24-10-2019 - |
Frage
Ich bekomme einige Puremvc -Erfahrung und möchte Tastaturbefehle verwenden, um meine Ansicht zu steuern. Der Rest der Anwendung muss nicht wissen, was diese Ansicht tut.
Sollte ich sie direkt in die Ansicht setzen oder sollten sie an einem anderen Ort sein und die Ansicht mit einer Benachrichtigung benachrichtigt werden, wenn eine Taste gedrückt wird?
Vielen Dank!
Lösung
Wie Sie sagten, haben Sie zwei Alternativen - um einige Zuhörer in die Klasse der Aussicht zu setzen.
1 -st - Dies scheint der normale Ansatz zu sein, keine weiteren Erklärungen, jeder Programmierer wird dasselbe tun.
2-ND-Ansatz ist interessanter. Wenn Sie viele Ansichten haben, wenn Sie nach Tastaturereignissen hören, werden Sie so etwas wie verwenden
public class EnterButtonPressed extends SimpleCommand
{
function execute(...):void
{
//do something with the model, and then notify the view
}
}
Aber nachdem weitere Ansichten hinzugefügt wurden, die zuhören sollen Enter
Schlüssel Ihre Klasse wird so enden
public class EnterButtonPressed extends SimpleCommand {
function execute(...):void
{
switch(viewType)
{
case view1:
//do something with the model, and then notify view1
break;
case view2:
//do something with the model, and then notify view2
break;
case view3:
//do something with the model, and then notify view3
break;
case view4:
//do something with the model, and then notify view4
break;
...
}
}
Was schrecklich erscheint, wenn Sie viele Tastaturereignisse zuhören. Wenn Sie jedoch den Entwurfsmustern vertraut sind, können Sie verwenden Zustandsmuster.
Es hat mir in meinem neuesten Projekt sehr geholfen, als ich auf viele verschiedene Ansichtsstaaten stieß, um viele Veranstaltungen zu hören.
Ich empfehle Ihnen auch, einen Blick darauf zu werfen Kamerad Framework, es ist wie Puremvc + Datenbindung + Flex -Ereignisse.