我想从userController调用testController的Listing函数。 我在下面的代码中标记(//)我想要调用函数的位置。 我在 angularjs
中这样做function userController($scope, $http) {
$scope.SignUp = function() {
$http.post('<?php echo site_url('angularjs/addToTable'); ?>', {'uname': $scope.username, 'pswd': $scope.userpassword, 'email': $scope.useremail}
).success(function(data, status, headers, config) {
// Here i want to call Listing function of testController ...
});
}
}
function testController($scope, $http) {
$scope.Listing = function() {
$scope.users = [];
$http.get('<?php echo site_url('angularjs/get_list'); ?>').success(function($data) {
$scope.users = $data;
});
}
}
答案 0 :(得分:0)
如果将这两个控制器嵌套在标记中,则可以访问子控制器中的父作用域函数。如果不是,则此功能可能不属于控制器,而是属于服务,提供商或工厂。
<div ng-controller="testController">
<div ng-controller="userController">
</div>
</div>
答案 1 :(得分:0)
您还可以定义可以提供给控制器的services。在这里,您可以定义服务userManagement:
myModule.service('UserManagement', function() {
this.list = function() {
//..
}
this.signUp = function() {
//..
}
});
此服务可在您的控制器中访问,如下所示:
testController($scope, $http, UserManagement){
// insert code here
}