Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS$parse返回未定义的_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS$parse返回未定义的

Javascript AngularJS$parse返回未定义的,javascript,angularjs,Javascript,Angularjs,我想调用资源的以下方法 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... 但是

我想调用资源的以下方法

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
工作


编辑:
方法
是一些不可理解的函数,但存在。当我使用context=$scope和arguments调用它时,它返回undefined。

Error说“$parse($scope,$scope.type+'.query”)($scope,$scope.query)”是未定义的。拆分每个进程,以便您可以看到该点的变量,以查看错误所在。首先调用
$parse
,然后调用该方法,最后返回该方法的响应。例外说明了这一切,你真的可以自己做。同样作为参考[reference]()您尚未发布所有相关代码,但除非您拥有
$scope.User.query
,否则它将无法按预期工作$解析和$scope。$eval不在内部执行eval。