【问题标题】:Marionette CollectionView filter not working木偶 CollectionView 过滤器不起作用
【发布时间】:2014-09-24 05:48:38
【问题描述】:

我看到有关正确过滤 CollectionView 的问题。没有一个处方对我有用。我一定没有得到这个概念。

如果我有一个模型集合,并且我只想显示那些属性“visible”设置为“true”的模型,我应该在 CollectionView 中过滤集合。我认为这是正确的做法:

    var myCollectionView = new MyCollectionView ({
        collection: new FilteredCollection(UnfilteredCollection.where({ visible: 'true' }))                
    });

当我将 10 个模型添加到 UnfilteredCollection、5 个具有 visible=false 和 5 个具有 visible=true 的模型,并在一个区域中显示 myCollectionView 时,我应该看到 5 个项目。我没有。

如果我放下过滤器并只显示 UnfilteredCollection,我会看到所有 10 个项目,所以我知道除了这些过滤后的内容之外我的连接是正确的。

设置 VS 断点我可以在集合的模型中看到正确的值 - 5 visible=false 和 5 visible=true。

我在这里错过了什么?

【问题讨论】:

    标签: javascript filter marionette collectionview


    【解决方案1】:
    { visible: 'true' }
    

    这让我觉得你可能会不小心在 true 值周围添加引号,这使它成为一个字符串,而你的模型中可能有布尔值 true/false

    【讨论】:

    • 感谢您的回复。绝对是模型中的字符串。无论如何都尝试不带引号只是为了安全但没有骰子。
    • 不,我错了。这就是问题所在。另一个问题是掩盖了该修复的成功。另一个问题是我在添加模型后没有创建新的视图实例。错误地认为现有实例会选择新模型。对此还是有些迷茫。认为 CollectionView 的想法是定义一个实例,它会对底层的集合调整做出反应?似乎这将是合乎逻辑的。不是这样吗?当我在每次集合调整后创建一个新视图实例时,都会反映更新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-03
    • 2014-06-29
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    相关资源
    最近更新 更多