私はngDialogでAngularを使用しています。私のビューには、ユーザーの詳細をngDialogで開く編集ボタンのあるユーザーのリストがあります。ngDialog にデータを保存するときに、ユーザーのリストを更新したいと思います。
これにはオブザーバーパターンを使用することを考えました。ただし、ハンドラは起動しません。
これが私のコードです:
ユーザーコントローラー
angular.module('myApp')
.controller('UserController', function($scope, User){
//this method gets fired when the dialog is saved
$scope.update = function(user)
{
User.update(user);
$scope.$broadcast('refresh-users');
return true;
}
});
ユーザーコントローラー:
angular.module('myApp')
.controller('UsersController', function($scope, User, ngDialog){
var loadUsers = function(users) {
$scope.users = users;
}
var handleErrors = function(response) {
console.error(response)
}
$scope.userPopup = function(id)
{
ngDialog.open(
{
template:'../partials/user.html',
controller: 'UserController',
data: {'id': id},
scope: $scope
});
}
$scope.$on('refresh-users', function handler(){
console.log('handler');
User.getAll()
.then(loadUsers)
.catch(handleErrors);
});
});
どうすればこれを解決できますか?