我开发了一个演示项目并使用“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
总是为空,然后我称$rootScope.collectItem
这是第一次为空,然后总是显示以前的搜索项。下面是详细信息。
回调不起作用,因为我在索引数据库中有多达 100 条记录,当我调用第一次startsWithIgnoreCase
方法时$rootScope.collectItem
设置为 null,但我再次尝试调用相同的方法,然后$rootScope.collectItem
在第二次显示先前搜索的匹配值。喜欢:
startsWithIgnoreCase
在我的自动完成搜索框中,当我输入第“441”项并第一次调用方法然后$rootScope.collectItem
设置为空时。- 当我尝试搜索其他项目时没有“885”,然后
$rootScope.collectItem
显示以前过滤的“441”记录。
注意:我想实现回调,startsWithIgnoreCase
但我找不到任何解决方案。
如果有人可以使用 angularjs 获得任何“dexie.js”示例代码,请将该链接发送给我。