1

使用 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;
        }
    }
};

}

4

1 回答 1

3

如果您使用的是 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。

于 2017-11-22T05:43:33.943 回答