我有一个控制器(称为searchCtrl
),它向服务发出请求,然后将该服务中的数据插入到名为movieList
的范围内。
然后我通过模板中的ng-repeat显示范围movieList
的内容,
%li.search_results{"ng-repeat" => "movie in movieList'"}
.addmovie{"ng-click" => "addMovie()"}
%span
Add Movie
%span.title
{{ movie.original_title }}
在这个模板中,我调用了一个名为addMovie()
的函数,它在我的数据库中创建了一条记录。
这里的问题是我想在不同的控制器中分离我的搜索功能和addMovie功能。这意味着addMovie()
函数位于名为addMovies
的控制器中。
因此,当我点击.addmovie
div并激活addMovie()
函数时,它不会执行任何操作。所以我想知道是否可以通过addMovie()
控制器与addMovies
控制器内的searchCtrl
函数建立连接。
答案 0 :(得分:0)
您需要将addMovie()函数移动到服务中。这样,任何控制器都可以通过将服务注入控制器来访问它。
app.service("movieService",function() {
this.addMovie = function() {
//stuff
}
});
然后你会将服务注入你的控制器,如下所示:
app.controller("searchCtrl",function($scope, movieService) {
//call it here
movieService.addMovie();
});