Backbone.js модель измененных атрибутов

Опубликовано: 4 Января, 2023

Модель измененных атрибутов 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