使用knockout过滤数组属性.我应该使用嵌套对象还是存在其他方法



使用这个http://jsfiddle.net/rniemeyer/NFbxc/我做了几乎相同的东西(http://jsfiddle.net/uhtshka/HE94X/),它几乎实现了我所有的需求,但一个问题仍然存在。从下面的链接可以看到,我们使用的数组非常简单。种:

var simpleArray = [
                   {... som data ...},
                   {... som data ...},
                   {... som data ...}];

但我试图实现同样的功能与更复杂的数组结构,如:

var notsosimpleArray = [{
     dayname: 'Monday', rows:[
             col1: 'data1',
             col2: 'data2',
             col3: 'data3',
     ]},{dayname: 'Tuesday', rows:[
             col1: 'data1',
             col2: 'data2',
             col3: 'data3',
     ]}];

是否可以保存相同的功能?

您当然可以对所描述的复杂对象使用knockout。

您引用的JSFiddle有一些问题(var1-5集和在窗口对象上引用?),所以我没有尝试解决添加行函数,但我确实用一个在每天的数据中使用行数组的示例更新了小提琴。

链接:http://jsfiddle.net/HE94X/1/

请记住,在您的过滤器函数中,您希望返回一个数组,您可以通过查找日期来找到该数组。现在并不真正需要ko.utils.arrayForEach函数,因为数组已嵌入到当天的对象数据中。

您应该能够将此逻辑扩展到add row函数,以便它可以将当前日期的条目推送到rows数组中。

相关内容

  • 没有找到相关文章