我想调用以下资源方法。
if($scope.type === 'User')
User.query($scope.query)
else if($scope.type === 'Product')
Product.query($scope.query)
else
Item.query($scope.query)
我发现了一些相似之处,我决定使用eval。
它像魅力一样
eval($scope.type).query($scope.query).$promise...
但jshint警告我,使用eval并不酷。我决定使用Angular的$ parse方法。
var method = $parse($scope.type + '.query') //function (s,l,a,i){var v5,v6, ...
method($scope, $scope.query).$promise...
错误:
Cannot read property '$promise' of undefined
我的代码位于某个指令控制器中,我确定
eval($scope.type).query($scope.query).$promise
作品。
编辑:method
是一些难以理解的功能,但存在。当我用context = $ scope和arguments调用它时,它返回undefined。