2016-06-12 40 views
1

您能否提出一个更好的方法来使用baconjs呈现我的页面上的项目列表。我需要机会添加/删除/更改此列表中的元素。 项目列表应该是属性,由事件修改?或者其他的东西?带有培根的项目输出列表

回答

3

Bacon.update(https://github.com/baconjs/bacon.js/#bacon-update)可用于基于多个源事件(如add/update/delete)更新列表。你可能想尝试这样的:

var itemsP = Bacon.update(
    [], 
    addE, (items, newItem) => items.concat(newItem), 
    removeE, (items, removedItem) => items = items.filter((i) => i != removedItem) 
); 

以下是一个演示这个动作小提琴:https://jsfiddle.net/1w2brL1e/1/

+0

看起来不错,但Bacon.update不调用回调函数 https://jsfiddle.net/0rkg43rt/ – yurisnk

+0

根据你的yurisnk添加了上面的演示小提琴。你有2个问题:1)提供给B.update的函数没有返回值2)itemsP没有订阅,所以它没有被激活。 – raimohanska