javascript - Backbone 搜索条件

标签 javascript backbone.js

我有一个 Backbone 集合,其中包含 Canvas 的 X 和 Y 坐标及其宽度和高度(矩形)。当我单击 Canvas 元素时,我必须在模型中搜索单击坐标是否在 Xcoordinate + width 之间。和Ycoordinate+height ,但我找不到用 > 搜索集合的方法或<状况。

是否可以使用这些条件搜索 Backbone 集合? collection.where只允许=情况。

型号

Model = Backbone.Model.extend({
    defaults: {
        LayoutConfigurationId: 0,            
        Xcoord : 0,
        Ycoord : 0,            
        Width : 0,             
        Height : 0            
    },
    initialize: function (model) {
        contextMicro.clearRect(model.Xcoord-3, model.Ycoord-3, model.Width+6, model.Height+6);

        contextMicro.beginPath();
        contextMicro.rect(model.Xcoord, model.Ycoord, model.Width, model.Height);
        contextMicro.fillStyle = 'red';
        contextMicro.fill();
        contextMicro.lineWidth = 2;
        contextMicro.strokeStyle = 'black';
        contextMicro.stroke();

    }
});

收藏

 var Collection = Backbone.Collection.extend({
    defaults: {
        model: Model
    },
    model: MicrophoneModel,       

});

最佳答案

主干proxies a lot of Underscore functions进入收藏,特别是 _.filter它允许您编写任何您能想到的过滤函数。

例如,获取包含给定点 x,y 的所有模型的列表:

var c = new Backbone.Collection([
    {Xcoord:10, Ycoord:10, Width:10, Height:10},
    {Xcoord:20, Ycoord:20, Width:10, Height:10}
]);

var x = 15, y = 15;
var found = c.filter(function(m) {
    return (m.get('Xcoord')<x) && ((m.get('Xcoord')+m.get('Width'))>x)
       &&  (m.get('Ycoord')<y) && ((m.get('Ycoord')+m.get('Height'))>y);
});

http://jsfiddle.net/nikoshr/wa5xshoa/

关于javascript - Backbone 搜索条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27316802/

相关文章:

javascript - 在 .change() 处理程序之后通过 .load() 重新加载表时,JQuery 丢失初始单击事件

redirect - Backbone.JS "sync"方法中处理 HTTP 302 错误和重定向

backbone.js - 在 Backbone.js 或 Marionette.js 中重复创建和销毁 View 而不创建 "memory leak"

javascript - 编写此正则表达式的替代方法,因为它无法在除 Chrome 之外的其他浏览器中运行

javascript - bootstrap + 导航栏 + 子下拉菜单

javascript - 具有多个字段的大型对象数组中的最佳搜索算法

javascript - 将多个 JavaScript 文件组合并压缩到 Django 项目中的单个文件中

javascript - 使用 Node.js 请求 (req) 作为 WeakMap 的键是否安全

javascript - 如何在单个页面上加载多个 Backbone.js View

javascript - IntelliJ IDEA 2016.1 JavaScript 调试器错误