我开始了,所以这是非常基本的问题。
我有一个简单的工厂:
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 的信息,但是当将其添加到我的控制器时,我无法正常工作。