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