1

私は始めたので、これは非常に初歩的な質問です。

私は単純な工場を持っています:

angular.module('notes', ['ngResource']).
factory('Notes_module', function ($resource) {
    var Notes_items = $resource(BASE_URL + 'xxx/:method/:guid', {},
        {
            get_all: {method: 'GET', params: {method: 'get_all'}, isArray: true }
        });

    return Notes_items;
}
);

note_itemsを表示するコントローラ。

function Notes($scope, Notes_module) {
     $scope.notes = Notes_module.get_all();
};

私の見解では、サーバーから新しい notes_items を取得するための簡単なボタンがあります。

<a ng-click="synchronize()">

そしてコントローラー:

function LeftBardController($scope, Queries_module) {
$scope.synchronize = function() {
    $scope.notes = Queries_module.get_all_new_note();
};

}

新しいアイテムをチェックするための新しい工場:

angular.module('queries', ['ngResource']).
factory('Queries_module', function ($resource) {
    var Queries_items = $resource(BASE_URL + 'xxx/:method/:guid', {},
        {
          get_all_new_note: {method: 'GET', params: {method: 'get_all_trash'}, isArray: true },
        });

    return Queries_items;
}
);

そして質問です。

「同期」ボタンをクリックすると、データベースは正常に更新されますが、ビューは更新されません。ページを更新すると、ビューも更新されます。

コントローラーの $scope を $rootScope (rootscope にメモを保存) に変更すると、必要に応じてビューが自動的に更新されますが、これは $rootScope を使用する良い方法です。どうすれば他の方法でこれを行うことができますか? $apply について読みましたが、コントローラーに追加すると機能しません。

4

0 に答える 0