Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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,ui路由器:将$stateParams注入非匿名函数_Javascript_Angularjs_Dependency Injection_Angular Ui Router_Angular Ui - Fatal编程技术网

Javascript AngularJS,ui路由器:将$stateParams注入非匿名函数

Javascript AngularJS,ui路由器:将$stateParams注入非匿名函数,javascript,angularjs,dependency-injection,angular-ui-router,angular-ui,Javascript,Angularjs,Dependency Injection,Angular Ui Router,Angular Ui,我想使用带有AngularJS的ui路由器将$stateParams注入到一个非匿名函数中 使用匿名函数,我通常会这样做: .state('app.users', { url: '/users/:param1/:param2', params: { ... }, templateUrl: function($stateParams) { // <----- Here is the anonymous function

我想使用带有AngularJS的ui路由器将$stateParams注入到一个非匿名函数中

使用匿名函数,我通常会这样做:

.state('app.users', {
     url: '/users/:param1/:param2',
     params: {
         ...
     },
     templateUrl: function($stateParams) { // <----- Here is the anonymous function
         ... do something ...
     },
     resolve: {
         ...
     }
})
.state('app.users'{
url:“/users/:param1/:param2”,
参数:{
...
},

templateUrl:function($stateParams){/这样做是合适的

 templateUrl: myFunction,
Angular将或用于依赖项注入(本例中为前者),两者都在内部使用以确定应注入哪些依赖项。
$injector.annotate
使用正则表达式对被调用函数的签名进行注释,并获取依赖项的名称


还有必要提供
myFunction
,以便在缩小的JS中对其进行正确的注释。

您想要用于Templateral的函数的用途是什么?@mindparse,这样,如果我在
myFunction
中除了e$stateparms它工作得很好!但是如果我尝试传递一个参数,比如:
function myFunction(firstArgument,$stateparms)
对此有什么想法吗?忘了提到
templateUrl:myFunction('users',$stateparms),
不起作用,这就是问题所在。我不能让第二个参数为空。我在我的问题中提到的例子是有效的(但感觉不对):
templateUrl:function($stateParams){return myFunction('users',$stateParams);},
^^^^^^这正是在这种情况下应该做的事情,如果您需要向myFunction传递一个附加参数,它没有任何问题。是的,其他变体不应该工作。
myFunction
是一个函数,而
myFunction(…)
是此函数返回的结果,它们是不可互换的。
 templateUrl: myFunction,