TypeError:无法读取属性' hash'未定义的

时间:2015-10-23 22:33:02

标签: angularjs angularjs-directive angularjs-scope angular-ui-router angularjs-ng-repeat

我正在尝试使用id和$ event作为参数调用以下angularjs方法时遇到错误

    $scope.gotoLink = function(id, $event) {
        $event.preventDefault();

        var currentLocation = $location.hash();

        $timeout(function() {
            $location.hash(id);
            $anchorScroll();
            // reset location to initial value,
            // required to stop modal window auto-closing
            $location.hash(currentLocation);
        });
    };

错误如下

TypeError:无法读取属性' hash'未定义的     在Scope。$ scope.gotoLink(http://upfdev/ui/accounts/xyzcontroller.js:68:41)     在Parser.functionCall(http://upfdev/ui/bower_components/angular/angular.js:10847:21)     在ngEventDirectives。(匿名函数).compile.element.on.callback(http://upfdev/ui/bower_components/angular/angular.js:19136:17)     在Scope。$ get.Scope。$ eval(http://upfdev/ui/bower_components/angular/angular.js:12702:28)     在Scope。$ get.Scope。$ apply(http://upfdev/ui/bower_components/angular/angular.js:12800:23)     在HTMLAnchorElement。 (http://upfdev/ui/bower_components/angular/angular.js:19141:23)     在HTMLAnchorElement.jQuery.event.dispatch(http://upfdev/ui/bower_components/jquery/jquery.js:5095:9)     在HTMLAnchorElement.jQuery.event.add.elemData.handle(http://upfdev/ui/bower_components/jquery/jquery.js:4766:28

当我已经注入$ location时,我不确定为什么会出现这个错误。热切地等待着任何帮助。在这个问题上找个好时机

1 个答案:

答案 0 :(得分:1)

你必须添加:

.controller('DetailController',['$ scope',' $ location ',功能($ scope, $ location