Wie speichere ich Daten in Sencha Touch 2 Modellen?

8

In sencha touch 2 scheint es, dass es nur string, int, float, boolean Datentypen gibt. Wie speichere ich dann ein Datum?

AKTUALISIEREN

OK, ich habe festgestellt, dass ich convert() verwenden kann, um Werte zu konvertieren: Ссылка

  

convert : Funktion Eine Funktion zum Konvertieren von Rohdatenwerten aus Daten   Blockieren Sie die Daten, die im Feld gespeichert werden sollen. Die Funktion ist bestanden   die folgenden Parameter:
  - v: Gemischt
  Der Datenwert wie von der gelesen   Reader, wenn undefined wird den konfigurierten defaultValue verwenden.
  - rec: Gemischt   Das Datenobjekt, das die Zeile enthält, die vom Reader gelesen wurde. Es hängt davon ab   der Reader-Typ, könnte dies ein Array (ArrayReader), ein Objekt sein   (JsonReader) oder ein XML-Element.

%Vor%

Aber ich verstehe den Code nicht wirklich. Für convert() , was setzt die Parameter? Warum wird der 1. Parameter unbenutzt und wann und wofür wird er verwendet? Wie bekomme / setze ich solche benutzerdefinierten Typen (wird es v oder data in convert() )?

    
Jiew Meng 12.05.2012, 12:27
quelle

2 Antworten

9

Ссылка Oh hey ein Datum Datentyp ...

Wie auch immer, bevor Sie Ihre Frage beantworten! (Siehe das Beispiel tl; dr für einen Datumsdatentyp)

Ссылка

Eine Funktion, die den vom Leser gelieferten Wert in ein Objekt umwandelt, das im Modell gespeichert wird. Es wird die folgenden Parameter übergeben:

v: Gemischt

Der Datenwert, wie er vom Reader gelesen wird, wenn er nicht definiert ist, verwendet den konfigurierten Standardwert. rec: Ext.data.Modell

Das Datenobjekt, das das Modell enthält, wie es bisher vom Reader gelesen wurde. Beachten Sie, dass das Modell zu diesem Zeitpunkt möglicherweise nicht vollständig ausgefüllt ist, da die Felder in der Reihenfolge gelesen werden, in der sie in Ihrem Felder-Array definiert sind.

%Vor%

Ah und an dieser Stelle fand ich die Quelle Ihres Beispiels;)

%Vor%

Damit deklarieren Sie einen neuen Datentyp mehr oder weniger. es würde ungefähr wie

aussehen %Vor%

TL; DR

Nun, um Ihre ursprüngliche Frage tatsächlich zu beantworten:

Ext hat einen Datumstyp, den Sie verwenden können: Ext.data.Types.DATE (sowie einige andere).

Ich gehe vom Typ aus: Datum hat nicht funktioniert, sonst wären wir nicht hier! Also wahrscheinlich sind nur 4 richtig referenziert. Aber! das funktioniert:

%Vor%

Geige des Arbeitscodes:

Ссылка

    
Alex 22.05.2012 20:27
quelle
3

Nur um alles oben auf einfache Weise zu umbrechen:

Ja, Sie können Daten einfach als Daten in Ihren Modellen speichern. Um das zu tun, brauchst du:

  1. Geben Sie den Feldtyp in einem Modell an (denken Sie daran, die Datei Ext.data.Types in das Feld required in Ihrer app.js einzufügen):

    %Vor%
  2. Verwenden Sie Modifikatoren mit Datumsformat für diese Felder in Ihren XTemplates:

    %Vor%
  3. um das Datumsfeld vor dem Senden an den Server korrekt in den String zu konvertieren. Zum Beispiel speichere ich Daten im Format "d.m.Y" , also mache ich die folgende Umwandlung:

    %Vor%

Das ist es! Jetzt haben Sie alle Möglichkeiten des nativen Datumsfeldes, d. H. Sie können Gruppierungen, Sortierungen usw. problemlos durchführen.

    
yablokoff 26.02.2013 20:56
quelle