Backbone.js модель измененных атрибутов
Модель измененных атрибутов Backbone.js — это функция, которая возвращает хэш, представляющий собой разницу в атрибутах и их значениях в текущей модели и модели до изменения. Возвращает false, если в модели нет изменений. Эта функция помогает выяснить, какие части представления следует изменить.
Синтаксис:
model.changedAttributes( attributes );
Параметры:
- атрибуты: это атрибут модели.
Пример 1. В этом примере мы проиллюстрируем модель измененных атрибутов Backbone.js и получим все обновленные атрибуты и значения.
HTML
<!DOCTYPE html> < html > < head > < title >BackboneJS changedAttributes Model</ title > type = "text/javascript" > </ script > < script src = type = "text/javascript" > </ script > < script src = type = "text/javascript" > </ script > </ head > < body > < h1 style = "color: green;" > GeeksforGeeks </ h1 > < h3 >BackboneJS changedAttributes Model</ h3 > < script type = "text/javascript" > var m = new Backbone.Model({ att1: "a", att2: "b", att3: "c" }); m.on("change", function () { document.write("Changes are ", JSON.stringify(m.changedAttributes())); }); m.set({ att1: "d", att3: "e", }); </ script > </ body > </ html > |
Выход:
Атрибут Changes модели хранит те же значения, что и changeAttributes. Теперь давайте посмотрим, не изменилось ли что-либо в модели, кроме того, что изменяет хранилище атрибутов и что хранит измененные атрибуты.
Пример 2: В этом примере мы увидим changeAttributes с новыми атрибутами и без каких-либо изменений в модели.
HTML
<!DOCTYPE html> < html > < head > < title >BackboneJS changedAttribtues Model</ title > type = "text/javascript" > </ script > < script src = type = "text/javascript" > </ script > < script src = type = "text/javascript" > </ script > </ head > < body > < h1 style = "color: green;" > GeeksforGeeks </ h1 > < h3 >BackboneJS changedAttributes Model</ h3 > < script type = "text/javascript" > var temp = new Backbone.Model({ att1: "a", att2: "b", att3: "c" }); temp.on("change", function () { document.write("It return new attributes ", JSON.stringify(temp.changedAttributes())); }); temp.set({ attr4: "f", attr5: "g" }); var tem2 = new Backbone.Model({ attA: "1", attB: "2", }); document.write(`< br >< h3 >Change Attributes with any change return</ h3 >`); document.write(`Change in Model with any changed attribute returns ${JSON.stringify(tem2.changed)}`); document.write(`< br >Change in Model with changeAttribute returns ${tem2.changedAttributes()}`); </ script > </ body > </ html > |
Выход:
Ссылка: https://backbonejs.org/#Model-changedAttributes