2013-02-26 7 views
5

Я использую kendo.data.ObservableObject и хочу сразу изменить два атрибута (так что событие change не запускается дважды). Я не уверен в синтаксисе (background.set('id', backgroundId) для одного атрибута), и документация не очень помогает. Любая помощь?KendoUI ObservableObject: Установить несколько атрибутов

Спасибо!

ответ

5

Вы не можете установить сразу несколько атрибутов. Вам нужно два раза вызвать метод set.

Если вы просто хотите, чтобы избежать запуска события изменения присвоить атрибут без использования set метода:

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

Так в основном это будет инициировать событие изменения в два раза? Есть ли другой путь вокруг этого ограничения? Написание пользовательского события? – Steven

+0

Нестандартное событие не помешает событию изменения. –

+0

Что особенно интересно, что происходит во время этого события. У нас есть сетка, привязанная к наблюдаемому объекту, каждая строка имеет настраиваемый селектор для конкретного столбца, который при изменении вызывает событие, которое мы фиксируем, которое, в свою очередь, обновляет различные поля объекта args.data с использованием метода set. Это невероятно медленно, и вокруг этого абсолютно нет. Мы планируем уйти с наблюдаемым объектом, не похоже на это. – Jacques