我可以使用$ rootScope工厂更新视图吗?

时间:2013-09-26 12:33:42

标签: angularjs

我已经开始了,所以这是一个非常基本的问题。

我有一个简单的工厂:

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但是当它添加到我的控制器时我不起作用。

0 个答案:

没有答案