我有两个单独的 angularjs 控制器,分别命名为HomeController
和SearchController
.
我有一个名为Search()
in的函数HomeController
。
如何从 运行搜索功能searchController
?
我有两个单独的 angularjs 控制器,分别命名为HomeController
和SearchController
.
我有一个名为Search()
in的函数HomeController
。
如何从 运行搜索功能searchController
?
我制作了这个 Plunker,它可以完成上述操作。app.js 文件如下所示。它使用工厂声明。或者,如果您只是希望此函数存储和返回一些数据,那么您可以使用 $rootScope 角度服务,它可以全局访问。服务在执行某些操作时是首选。看看这个链接,其中有解释使用服务与 rootScope 的答案。
app.controller('HomeCtrl', function($scope, searchService) {
$scope.ctrl1Fun= function() {
searchService.search();
}
});
app.controller('SearchCtrl', function($scope, searchService) {
$scope.ctrl2Fun= function() {
searchService.search();
}
})
app.factory('searchService', function(){
function search(){
alert('hello World')
}
var service = {search : search}
return service
});
在工厂中定义“搜索”功能,将该工厂注入两个控制器,然后您可以从两个控制器访问“搜索”功能。
样本:
app.controller('HomeController', function(searchFactory){
//calling factory function
//searchFactory.search();
});
app.controller('searchController ', function(searchFactory){
//calling factory function
//searchFactory.search();
});
app.factory('searchFacotry', function(){
return{
search: function(arg){
alert('hello world');
};
};
});