我有一个控制器,可以创建电影列表。控制器通过调用一个工厂内的函数来完成此操作,然后将响应放入显示在视图中的范围中。从角度不同的控制器调用方法
我也有一个不同的控制器,我有一个addMovie函数。所以用户可以将电影添加到他们的监视列表。我的问题是,当用户添加一个电影的视图(或更好的范围从第一个控制器)不更新,我不得不重新加载页面看到新添加的电影。
调用addMovie函数时,从第一个控制器调用函数(从工厂获取数据并将其放入作用域)的最佳方法是什么?
addMovieController:
$scope.addMovie = function (movie) {
movieaddFactory.selectMovie(movie).then(function(response){
movieaddFactory.addMovie(response);
Notification.success(movie.title + ' has been added to your watchlist');
$scope.movies = [];
$scope.overlay = false;
$scope.searchquery = ''
});
};
getMovieController:
getmovieFactoryFN = function(){
getmovieFactory.getMovies().then(function(response){
$scope.mmovies = response;
})
}
为了澄清我想打电话给getmovieFactoryFN的getMovieController内时addMovie函数被调用的addMovieController。
我会用'$ broadcast'您事件分发到所有的控制器是谁听。 –