检查数组中 object 的属性

checking an attribute of an object in an array

如果办公室出租 space,我需要在我的模板中写出某个 header。基本上我只是想像这样把它弄好:

<div>Office Unit
    {% if (m.hasRentalSpace) { %}
        <h2>Office space available!</h2>
    {% } else { %}
        <h3>There are currently no office units for rent in this building.</h3>
    {% } %}
</div>

在模型中,出租单元是一个数组,我需要遍历数组,并检查它们的状态是否为 4(这意味着 space 可用)。

所以我想在我的 backbone 模型中做这样的事情:

   hasRentalSpace: function() {
        this.Office.each( function(o) {
            console.log('o is: ', o.status);
        });
    },

问题是,对于每个 'o',我需要访问一个名为 'status' 的属性。但是如果我通过上面的测试来检查它, 我每次都不确定。但是,如果我只写出 'o',我可以在控制台中看到这样的状态属性:

所以,问题是,如何在遍历数组时获取 object 的状态?

谢谢!

理清逻辑后,我将能够在我的视图中使用 hasRentalSpace 函数,如下所示:

在我看来:

render: function () {
this.$el.html(this.template(hasRentalSpace: this.model.hasRentalSpace()));
    return this;
},

假设办公室是 backbone 型号(从您的屏幕截图来看似乎是这种情况),而不是

console.log('o is: ', o.status);

你应该使用

console.log('o is: ', o.get("status"));