我正在尝试使用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时,我不确定为什么会出现这个错误。热切地等待着任何帮助。在这个问题上找个好时机
答案 0 :(得分:1)
你必须添加:
.controller('DetailController',['$ scope',' $ location ',功能($ scope, $ location )