| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Alter User Registriert seit: Apr 2010 Ort: Deutschland
Beiträge: 128
|
Hi, hoffe, das ist die richtige Ecke! Ganz kurz: Im View hab ich nen NumericStepper, dann nen Listener im Controller und eine Methode im Model, die den Wert vom NS setzt. Problem, bzw. Frage ist: Wenn ich den NS anklicke, dann verändert er ja schon sofort seinen Wert und wartet nicht auf das Update vom Model... Kann ich das ändern/verhindern oder ist das einfach so? Streng genommen ist das dann ja nicht MVC-konform... :-/ Idee? Danke + Gruss T |
| | |
| | #3 (permalink) |
| Alter User Registriert seit: Apr 2010 Ort: Deutschland
Beiträge: 128
|
Öhm, danke erstmal! Aber wie jetzt? Das Problem ist halt, dass der NumericStepper seine(n) Wert/Status/Darstellung ändert, ohne auf die Bestätigung vom Model zu warten. Denn _normalerweise_ sollte es ja so sein: View wird geändert (Eingabe gemacht) => Controller kriegt's mit und sagt Model bescheid => Model ändert Status, sagt View bescheid => View ändert Darstellung... Das haut ja nun nicht hin... und theoretisch könnte so eine Eingabe verloren gehen, bzw. View und Model stimmen nicht mehr überein... :-/ Gruss |
| | |
| | #4 (permalink) | |
| dreizeiler Registriert seit: Sep 2004 Ort: Berlin
Beiträge: 1.411
| Zitat:
zum beispiel muss das ganze geklicke in der view das model auch gar nicht interessieren, bis nicht irgendein submit event gefeuert wird.. und wenn du es trotzdem so haben musst: na dann mach es doch einfach : fange den change event deiner konponente ab - prüfe den eingabewert im model gegen und reagiere entsprechend darauf (wert zurücksetzen zb.) wie wäre es ansonsten die view gleich mit value objects aus dem model zu bestücken, so dass die range erst gar nicht überschritten werden kann. normalerweise gibt es in deinem fall nicht.. lg | |
| | |
| | #5 (permalink) |
| Alter User Registriert seit: Apr 2010 Ort: Deutschland
Beiträge: 128
|
...mann mann, da hättich auch selber drauf kommen können -- danke mojave! ![]() Ich überprüfe jetzt einfach nochmal im View, ob die Änderung beim Model angekommen ist und setze, im Fall eines Scheiterns (View=>NumericStepper.value != Model=>InfoObjekt.value), den Wert des NumericSteppers auf den Wert des Models (=InfoObjektes) zurück... Und schon ist alles wieder schön "Moock". Daaanke! Gruss, T |
| | |
| | #6 (permalink) |
| thinkin aBout tha lib. Registriert seit: Nov 2001 Ort: Kölle
Beiträge: 1.379
| Naja
Eigentlich wurde MVC unter anderem deswegen bekannt weil sich damit asynchrone Szenarien und Eingabevalidierung gut lösen lassen. Ein "Modelabgleich" erledigt das prinzipiell, aber: Wenn ein Fehler passiert bei der Eingabe dann wird der eigentliche Datenwert im Model nicht verändert und damit existiert ein inkonsitenter Zustand welchen aufzuheben nicht immer trivial ist (manchmal sind eben asyc. Aufrufe involviert, weiss die View ja nicht). Aus Usability-Gründen denke ich sollte man konsequenterweise Komponenten so aufbauen das sofort der sichtbare Status verändert wird. Sprich beim Schicken des Befehls an den Controller wird die Darstellung zwar verändert aber es wird auch eine "ich bin am ändern"-Anzeige einblendet und diese wird erst bei Bestätigung der Daten diese Anzeige wieder entfernt.
__________________ Back to community with http://leichtgewicht.at |
| | |
| | #7 (permalink) | ||
| Alter User Registriert seit: Apr 2010 Ort: Deutschland
Beiträge: 128
| Zitat:
Zitat:
| ||
| | |
| | #8 (permalink) |
| thinkin aBout tha lib. Registriert seit: Nov 2001 Ort: Kölle
Beiträge: 1.379
| Hmm...
Das die View auf dem gleichen Stand wie das Model ist funktioniert halt nur in trivialen Anwendungsfällen. Okay. bei deinem Stepper wirds wohl oft passen, aber willst du Fehleingaben, Limits, Sprünge (sagen wir der Numericstepper geht in unregelmässigen schritten) mit visuellem Response (Animation, Rahmen, hintergrund ausgrauen, ... was auch immer) dann ist dort ein komplexeres Protokoll bzw. es sind angepasste Stepper notwendig (die dann mit Response arbeiten müssen). Eine Statusanzeige, also ob der Wert tatsächlich gespeichert wurde ist eigentlich mehr Usabilitydenken denn MVC. Natürlich gehts auch ohne. Man kann sowas aber auch nur dezent durch leichte Akzente anzeigen bzw. sehr kleine Veränderungen die durch ihren zeitl. Begrenzungen klar sind. Das es meistens nur wenige Sekunden(wenn überhaupt) dauert stimmt wohl aber es gibt immer den Kunden mit der langsamen Leitung oder aus Australien (oder Schwarzwald) bei dem dann die Applikation komisch läuft. Wenn der Benutzer ein kurzes Flackern wahrnimmt ist das doch auch cool: die Applikation zeigt das sie etwas macht - und das sogar schnell.. Unabhängig davon: Es wird bei lokaler Validierung (im Controller, ohne Server) ja sofort eine Antwort kommen. Sprich: Das Flackern wird gar nicht sichtbar sein.
__________________ Back to community with http://leichtgewicht.at |
| | |
| | #9 (permalink) |
| Alter User Registriert seit: Apr 2010 Ort: Deutschland
Beiträge: 128
|
Okay, verstehe natürlich, was du meinst. Aber auch wenn die Sache online geht, solange sie nicht riesen-komplex, zeit-oder-anders-kritisch ist, kann man wohl auf komplexe Protokolle verzichten -- denke ich. Außerdem ist das Stepper-Beispiel wirklich simpel, ich hatte auch darüber nachgedacht, mir meinen eigenen zu schreiben, war allerdings ein bisschen fowl und fand die Lösung mit dem "nachher korrigieren" ganz "angenehm". Wenn das nicht hinhaut, wie gewollt, kann ich's ja -- dank MVC ohne alles anfassen zu müssen -- immer noch ändern! ![]() Gruss, T |
| | |
![]() |
| Lesezeichen |
| Stichworte |
| mvc, numericstepper |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| NumericStepper | Jochi | ActionScript 2 | 1 | 03-05-2008 12:49 |
| NumericStepper | RhettButler | Flash 8 | 9 | 08-05-2007 22:09 |
| Rechnen mit NumericStepper??? | bluscht | Komponenten und SmartClips | 4 | 03-07-2006 22:38 |
| NumericStepper via AS to php to Mail | m.friedli | Flash MX 2004 | 1 | 27-04-2004 16:50 |
| NumericStepper via AS to php to Mail | m.friedli | Flash MX 2004 | 4 | 20-04-2004 15:02 |