我在angularjs
编写代码,根据会话需求加载controller
文件
我有 admin(let say ctrl1)
和 staffs (ctrl2)
的单独控制器文件以及一个 common(ctrlComm)
文件使用其中的任何一个,现在我想在ctrl1
内调用 ctrlComm
的功能,我不想再次编写或粘贴文件代码,我该怎么做呢。这是我的代码。
CTRL1:
customerSupport.controller('studentSheet',['$scope',function($scope){
$scope.searchStudent=function(studentid){
angService.getfromRemote('students/'+studentid)
.success(function(response){
if(response.success){
...
}
})
}
}])
ctrlComm
activities.controller('usersActivites',['$scope',function(){
$scope.studentdetail=function(studentid){
console.log("how can i call the searchStudent if ctrl1 here ??");
$scope.searchStudent(studentid);
}
}])
答案 0 :(得分:3)
分享功能是一个明确的标志,您需要service.
Angular服务是使用dependency injection (DI)连接在一起的可替代对象。您可以使用服务在整个应用中组织和共享代码。
我相信你已经有angService
了。在usersActivites
中注入此服务,您就可以开始使用了。您可以调整您的服务以直接获取学生详细信息。在那里创建一些函数,如angService.searchStudent
,并从服务返回适当的响应。