我有像这样的工厂方法
angular.module('myAppServices', ['ngResource'])
.factory('Users', function($resource) {
return $resource('/MY/system/users');
})
.factory('Groups', function($resource) {
return $resource('/MY/system/groups');
});
我可以调用Users.get()方法和Groups.get()方法。但是如何基于字符串表示来运行这些方法。假设我有通用方法
function GenericCtrol($scope) {
$scope.fmethod = 'Users'
//how to run something like $scope.fmethod.get()
}
答案 0 :(得分:0)
你能做的是
function GenericCtrol($scope,Users,Groups) {
$scope.Users=Users;
$scope.Groups=Groups;
$scope.fmethod = 'Users';
$scope[$scope.fmethod].get();
}
因为javascript对象只是一个键值映射。
答案 1 :(得分:0)
您可以使用$injector:
function GenericCtrol($scope, $injector) {
$scope.fmethod = 'Users';
$injector.get($scope.fmethod).get();
}