首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于AngularJS $RouteParams

关于AngularJS $RouteParams
EN

Stack Overflow用户
提问于 2016-05-29 08:03:39
回答 3查看 29关注 0票数 2

我刚开始学习AngularJS。当我使用.service of AngularJS时,如果注入$RouteParams,但实际上不使用$RouteParams,那么.service就不能工作。

代码语言:javascript
复制
myApp.service('myService', function() {
    this.name = 'myServiceName';
    var self = this;
    this.nameLength = function () {
        return self.name.length;
    };  
});
myApp.controller('mainController', ['$scope','$log','$routeParams','myService',function($scope, $log,myService,$routeParams) {
    $scope.handle = myService.name;
}]);

奇怪的是,如果我在控制器中使用$RouteParams,那么为什么$RouteParams会影响.service的使用?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-29 08:13:30

问题不在于$routeParams,而在于注入依赖关系的顺序。交换依赖项的顺序,使其与带注释的依赖项相同。在您的代码中,您已经在myService['$scope','$log','$routeParams','myService'之前对['$scope','$log','$routeParams','myService'服务进行了注释,但是当将它们作为回调函数参数使用时,您将在myService之后使用$routeParams。当您尝试使用myService.name时,它实际上是指没有名为name的属性的$routeParams。按下面的方式更改您的代码,它将工作

代码语言:javascript
复制
myApp.service('myService',function(){
      this.name='myServiceName';
      var self=this;
      this.nameLength=function(){
            return self.name.length;
        };  
});

myApp.controller('mainController',  ['$scope','$log','$routeParams','myService',function($scope, $log,$routeParams, myService) {
   $scope.handle = myService.name;
}]);
票数 1
EN

Stack Overflow用户

发布于 2016-05-29 08:25:33

像这样创建控制器。这种方式不那么让人困惑,也更容易读懂。

代码语言:javascript
复制
myApp.controller('mainController', function($scope, $log,myService,$routeParams) {
    $scope.handle = myService.name;
});
票数 0
EN

Stack Overflow用户

发布于 2016-05-29 08:25:37

阿迪娅·辛格已经很好地解释了这一点。若要防止此错误,可以将代码样式更改为:

代码语言:javascript
复制
myApp.controller('mainController',
['$scope', '$log', '$routeParams', 'myService',
function($scope, $log, $routeParams, myService) {
    $scope.handle = myService.name;
}]);

当控制器中有许多注入时,这也防止了垂直滚动。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37507585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档