1

我开发了一个演示项目并使用“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在第二次显示先前搜索的匹配值。喜欢:

  1. startsWithIgnoreCase在我的自动完成搜索框中,当我输入第“441”项并第一次调用方法然后$rootScope.collectItem设置为空时。
  2. 当我尝试搜索其他项目时没有“885”,然后$rootScope.collectItem显示以前过滤的“441”记录。

注意:我想实现回调,startsWithIgnoreCase但我找不到任何解决方案。

如果有人可以使用 angularjs 获得任何“dexie.js”示例代码,请将该链接发送给我。

4

0 回答 0