javascript - 学习backbone.js。我是否正确处理集合?

标签 javascript backbone.js

我有 ruby​​/rails 背景,所以我在思考 UDEMY 上的主干类(class)练习时遇到了一些困难。有人可以告诉我是否犯了任何错误,如果有的话如何修复?这个练习是关于集合的,我需要输出为 console.logs

var Vehicle = Backbone.Model.extend({

default: {
    registrationNumber: "XXX-XXX", 
    color: "beige"
}

urlRoot: "/api/vehicle",

start: function(){
    console.log("Vehicle started");
}
});

var Vehicles = Backbone.Collection.extend({
model: Vehicle,

url:"api/vehicles"
});

var vehicles = new Vehicles([
new Vehicle({car1: {registrationNumber = "XLI887", color = "Blue"} }),
new Vehicle({car2: {registrationNumber = "ZNP123", color = "Blue"}}),
new Vehicle({car3: {registrationNumber = "XUV456", color = "Grey"}})
]);

var blueCars = vehicles.where({ color: "Blue"});
 var specificRegistration = vehicles.where({ registrationNumber:"XLI887"});

console.log("blue cars:", blueCars);
console.log("Registration #:", specificRegistration);


console.log("to JSON:", vehicles.toJSON());

Code Below:

最佳答案

错了

new Vehicle({car1: {registrationNumber = "XLI887", color = "Blue" }})

并且应该替换为

new Vehicle({registrationNumber: "XLI887", color: "Blue" })

或与此相关的事件

{registrationNumber: "XLI887", color: "Blue" }

so Collection 可以接受 Model 数组或仅包含数据的对象数组,这些数据将传递给集合中使用的模型构造函数。

您还可以使用Collection#findWhere仅返回第一个找到的模型,而不是像 where

中那样返回模型数组

我还发现您忘记在 default 部分后添加逗号

default: {
    registrationNumber: "XXX-XXX", 
    color: "beige"
}, // here should be a coma

关于javascript - 学习backbone.js。我是否正确处理集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29832013/

相关文章:

javascript - ES6 中的 Backbone 事件

javascript - Backbone.js:通过模板嵌套 View

javascript - 如何从对象数组中获取属性?

javascript - 我正在尝试按顺序将数字插入到 div 主体中

javascript - 函数闭包中的另一个 jQuery 版本

javascript - iframe 内容在被 mootools 操作时消失

javascript - 如何在 Backbone Marionette 中创建依赖 DOM 的元素?

javascript - 如何使 html 按钮指向 php 网站?

javascript - jQuery 在 insertBefore 之后触发点击

javascript - 了解 javascript 的范围界定 - 通过一个简单的 Backbone 示例