私はムービーのリストを作成するコントローラを持っています。コントローラは、ファクトリ内でファンクションをコールしてレスポンスをスコープに入れ、ファンクションをビューに表示します。角度の異なるコントローラからの呼び出し方法
私は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;
})
}
私はのaddMovie機能がaddMovieControllerに呼び出されたときにgetMovieController内getmovieFactoryFNを呼び出したい明確にします。
私が聞いているすべてのコントローラにあなたのイベントを配布し、 '$のbroadcast'を使用します。 –