2013-02-26 10 views
5

Ich verwende ein kendo.data.ObservableObject und möchte zwei Attribute gleichzeitig ändern (damit das Change-Event nicht zweimal ausgelöst wird). Ich bin mir nicht sicher über die Syntax (background.set('id', backgroundId) für ein einzelnes Attribut), und die Dokumentation ist nicht sehr hilfreich. Irgendeine Hilfe?KendoUI ObservableObject: Mehrere Attribute festlegen

Danke!

Antwort

5

Sie können nicht mehrere Attribute gleichzeitig festlegen. Sie benötigen zwei Methoden, um die Methode set zweimal aufzurufen.

Wenn Sie nur vermeiden das Ereignis das Attribut zuweisen Änderung Auslösen ohne die set Methode:

model.foo = "foo" ; // won't trigger "change" 
model.set("bar", "bar"); // will trigger "change" 
+0

dies Also im Grunde würde die doppelte Änderungsereignis auslösen? Gibt es einen anderen Weg um diese Einschränkung? Ein benutzerdefiniertes Ereignis schreiben? – Steven

+0

Ein benutzerdefiniertes Ereignis verhindert nicht, dass das Änderungsereignis ausgelöst wird. –

+0

Besonders interessant ist, was während dieser Veranstaltung passiert. Wir haben ein Gitter, das an ein beobachtbares Objekt gebunden ist, jede Zeile hat einen benutzerdefinierten Selektor für eine bestimmte Spalte, die bei ihrer Änderung ein Ereignis auslöst, das wiederum verschiedene Felder des args.data-Objekts mit der set-Methode aktualisiert. Es ist unglaublich langsam und es gibt absolut keinen Weg um es herum. Wir erwägen, das observableObject zu entfernen, scheint es nicht wert zu sein. – Jacques

Verwandte Themen