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常に null を取得し、$rootScope.collectItemこれを初めて null と呼び、常に前の検索項目を表示します。以下、詳細です。

インデックス付きデータベースに最大100個のレコードがあるため、コールバックは機能しません。最初のstartsWithIgnoreCaseメソッドを呼び出すとnullに設定されますが、同じメソッドを呼び出して、以前に検索された一致した値を2回目に表示$rootScope.collectItemしようとしています。$rootScope.collectItemお気に入り:

  1. アイテム番号「441」を入力し、メソッドをstartsWithIgnoreCase初めて呼び出してから$rootScope.collectItemnullを設定したときのオートコンプリート検索ボックス。
  2. 「885」以外の別のアイテムを検索しようとすると、$rootScope.collectItem以前にフィルター処理された「441」のレコードが表示されます。

:コールバックを実装したいのですstartsWithIgnoreCaseが、解決策が見つかりません。

angularjsを使用した「dexie.js」のサンプルコードを誰かが持っている場合は、そのリンクを送ってください。

4

0 に答える 0