如何使用 StickIt 从主干中绑定长度。集合?

Posted

技术标签:

【中文标题】如何使用 StickIt 从主干中绑定长度。集合?【英文标题】:How to bind length from a backbone.Collection using StickIt? 【发布时间】:2017-11-17 15:11:11 【问题描述】:

使用 Backbone、Marionette (1.8.3)、StickIt 和 TypeScript。 如何绑定 Backobone 集合的长度,以便在向集合中添加或删除项目时更新它?

我对 StickIt 还很陌生,到目前为止我已经尝试过什么

export class SomeView extends marionette.CompositeView<backbone.Model, SomeItemView> 
(...)
bindings = 
    "[data-bind-observer=count]": 
        observe: ["collection.length"],
        onGet: (collection) => 
            return collection.length;
        
    
;

【问题讨论】:

【参考方案1】:

如果您使用的是 Backbone 1.3.3,最好监听集合的更新事件。但是我假设你因为工作原因必须使用旧版本的Backbone,所以我会给你一个相关的答案

ui:
  'count': '[data-bind-observer=count]'
,
collectionEvents: 
    add: "updateCount",
    remove: "updateCount"
,
updateCount: function() 
   this.ui.count.text(this.collection.length);
,

如果可以,请尝试升级到 Backbone 1.3.3 或 Marionette 3。

【讨论】:

据我所知,我们使用的是 Backbone 1.1.0。整个公司都被那些旧版本卡住了,我对此无能为力。我最初的代码或多或少是正确的,但我缺少的是公司构建的 Marionette 行为,它将启动 StickIt。所以我现在无法真正测试它,但我在你的帖子中看到了关于 Marionette 的一些有趣的东西。谢谢。

以上是关于如何使用 StickIt 从主干中绑定长度。集合?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用主干-stickit 处理重复视图元素

使用 Backbone 和 Stickit 使模型保持最新

在主干中绑定模型时未触发 keyup 事件

具有嵌套属性的主干 Stickit

在 Backbone Stickit 中结合使用 visible 和 onGet

如何让backbone.stickit 一次收集所有值?