Backbone.js ID 与 idAttribute VS CID

阅读时长 4 分钟读完

Backbone.js 是一款轻量级的 JavaScript 库,用于构建 web 应用程序和单页面应用程序(SPA)。在 Backbone.js 中,有两个非常重要的属性:id 和 cid。它们都用于标识模型对象,但它们之间有很大的区别。

id 与 idAttribute

在 Backbone.js 中,每个模型都有一个唯一的标识符,称为 id。这个 id 属性默认是 "id",但可以通过设置模型的 idAttribute 属性来进行更改。例如:

在上面的示例中,我们将 idAttribute 设置为 "_id"。现在,每个模型都会使用 "_id" 作为其唯一标识符,而不是默认的 "id"。

在使用 Backbone.js 开发应用程序时,你通常会将模型对象保存到服务器,并在客户端上进行操作。由于 Backbone.js 模型使用 id 来标识自己,因此在从服务器获取数据时,你需要确保每个模型都具有唯一的 id。否则,当你尝试将多个模型添加到集合中时,可能会出现冲突。

cid

cid 是另一个用于标识 Backbone.js 模型的属性。cid 代表客户端 id,它是在客户端创建模型时自动分配的。cid 的值在客户端上始终保持唯一。例如:

在上面的示例中,我们创建了两个不同的模型对象。由于它们都是在客户端上创建的,因此会自动分配 cid 属性。首先创建的模型的 cid 为 "c1",而第二个模型的 cid 为 "c2"。

cid 可以在很多情况下用作模型的标识符,但它只在客户端上有效。如果你需要将模型保存到服务器上,并从服务器上获取模型数据,则必须使用 id 属性来识别模型。

示例代码

下面是一个简单的 Backbone.js 应用程序,它演示了如何使用 id 和 cid 属性来标识模型:

-- -------------------- ---- -------
-- ---- ---- --
--- ---- - -----------------------
  --------- -
    ------ ---
    ---------- -----
  --
  ------- ---------- -
    --------------------- ------------------------
  -
---

-- ---- ---- --
--- -------- - ----------------------------
  ------ ----
---

-- ---- ---- ---------
--- ----- - --- ------ ------ ----- -- ---
--- ----- - --- ------ ------ ----- -- ---
--- ----- - --- ------ ------ ----- -- ---

--- -------- - --- -----------

--------------------
--------------------
--------------------

-- ---- ---- --- -- - --- --
----------------- - --- - - -------- - -- ---- - - -----------
----------------- - --- - - -------- - -- ---- - - -----------
----------------- - --- - - -------- - -- ---- - - -----------

在上面的示例中,我们创建了一个 Todo 模型和一个 Todo 集合。然后,我们创建了三个 Todo 模型,并将它们添加到集合中。最后,我们输出了每个模型的 id 和 cid 属性。

总结

在 Backbone.js 中,id 和 cid 属性都用于标识模型对象。id 属性在服务器和客户端之间传输模型数据时特别重要,而 cid 属性只在客户端有效。通过理解这些属性之间

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/24246

纠错
反馈