在Knockout.js中,我创建了一个observableArray来将模型推送到:
function Room(data) {
this.name = ko.observable(data.name);
}
function RoomViewModel() {
var self = this;
self.rooms = ko.observableArray([]);
self.newRoomText = ko.observable();
self.addRoom = function() {
self.rooms.push(new Room({ name: this.newRoomText() }));
self.newRoomText("");
$("#modal").dialog("close");
}.bind(self);
}
在Backbone.js中,我会创建一个集合来存储我的模型:
var Book = Backbone.Model.extend();
var Books = new Backbone.Collection([
{name: "Abe Lincoln - Vampire Hunter"}
{name: "Pride and Prejudice and Zombies"}
]);
这两种结构彼此有多么不同?
为了使这些数据结构与标准Javascript数组不同,幕后究竟发生了什么?
答案 0 :(得分:9)
这是一个难以完全回答的问题,但这是我对此的看法:)。
.indexOf()
)destroy
& Rails开发人员的destroyAll
方法将对象的_destroy
属性设置为true
- 这将通知Rail的ActiveRecord应删除哪些对象。 Backbone.Collection
正在使用Backbone.js框架和observableArray
仅使用Knockout.js。在隔离中将它们相互比较是没有实际意义的,因为它们是框架的一部分,如果您的应用程序是在Backbone上构建的,则不能使用observableArray
,反之亦然。
如果您想知道幕后发生的究竟,那么这里是源代码: