【发布时间】:2016-01-09 23:37:02
【问题描述】:
我是 jayData 的新手,正在尝试过滤实体集。过滤器需要执行超出我在示例中看到的复杂评估。
这是我正在尝试完成的工作示例(listView 行不存在,只是用于显示我打算如何处理数据):
function () {
var weekday = moment().isoWeekday()-1;
console.log(weekday);
var de = leagueDB.DailyEvents.toArray(function (events) {
console.log(events);
var filtered = [];
for (var e = 0; e < events.length;e++) {
console.log(events[e]);
console.log(events[e].RecurrenceRule);
var rule = RRule.fromString(events[e].RecurrenceRule);
var ruleOptions = rule.options.byweekday;
var isDay = ruleOptions.indexOf(weekday);
console.log(ruleOptions, isDay);
if(isDay =! -1)
{
filtered.push(events[e]);
}
}
$("#listView").kendoListView({dataSource:filtered});
});
基本上,它只是评估一个循环规则字符串以查看当天是否符合该标准,如果符合,则将该事件添加到列表中以供查看。
但是当我尝试这样做时它会爆炸:
eventListLocal:leagueDB.DailyEvents.filter(function(e){
console.log("The Weekday is:"+viewModel.weekday);
console.log(e);
console.log("The recurrence rule is:"+e.RecurrenceRule);
var rruleOptions = viewModel.rruleOptions(e.RecurrenceRule);
if (rruleOptions !== -1) {
return true;
}
}).asKendoDataSource()
产生的错误是: 异常:无法解析类型:未定义
问题是它似乎发生在“e”上,控制台日志就像事件没有被传入一样。但是,我也没有看到列表。简而言之,我真的很困惑发生了什么。
任何帮助将不胜感激。 谢谢,
【问题讨论】:
标签: jaydata