我开发了一个演示项目,并使用" dexie.js"配置索引数据库。问题是当我尝试使用回调调用函数startsWithIgnoreCase
时。
在AngualrJS服务中: -
$rootScope.startsWithIgnoreCase = function (enteredItem) {
return db.itemMaster.where('itemCode').startsWithIgnoreCase(enteredItem).toArray($rootScope.callfunc);
}
//Callback method is this
$rootScope.callfunc=function(items) {
//$rootScope.collectItem angular array variable
$rootScope.collectItem = items;
//console.log("My close friends: " + JSON.stringify(items));
}
在控制器中,
var data = $rootScope.startsWithIgnoreCase(searchText);
data
总是为null然后我调用$rootScope.collectItem
这是第一次为null,然后始终显示上一个搜索项。以下是详细信息。
回调无法正常工作,因为我在索引数据库中最多有100条记录,当我第一次调用startsWithIgnoreCase
方法时,$rootScope.collectItem
设置为空,但我再次尝试调用同样的方法然后$rootScope.collectItem
第二次显示先前搜索到的匹配值。像:
startsWithIgnoreCase
然后$rootScope.collectItem
设置为null。$rootScope.collectItem
显示以前过滤的记录" 441"。 注意:我想实现startsWithIgnoreCase
的回调,但我无法找到任何解决方案。
如果有人可以提供任何示例代码" dexie.js"有了angularjs,请发给我链接。