Angularjs - TypeError:Object#<scope>没有方法&#39; path&#39; </scope>

时间:2015-02-01 15:04:09

标签: javascript angularjs

我在按下我页面上的按钮时尝试进行简单的重定向,但由于某种原因,我不断收到以下错误。

TypeError: Object #<Scope> has no method 'path'

不确定导致它发生的原因。我的代码如下:

controller.js

mycontroller.controller('OrderCtrl', ['$scope', '$http', '$rootScope','$location',function($scope, $http, $location, $rootScope) {
...
$scope.confirmOrder = function confirmOrder() {
    $location.path("/order");
}; 
...
}]);

page.jade

input.green-button(type="submit",value="Confirm order",ng-controller="OrderCtrl", ng-click="confirmOrder()")

我做错了什么?

1 个答案:

答案 0 :(得分:3)

您正在将$rootScope注入变量$location,反之亦然。只需正确纠正注射。

使用

mycontroller.controller('OrderCtrl', 
                        ['$scope', 
                         '$http', 
                         '$rootScope', 
                         '$location', function($scope, 
                                               $http, 
                                               $rootScope, 
                                               $location) {
}]); 

而不是

mycontroller.controller('OrderCtrl', 
                        ['$scope', 
                         '$http', 
                         '$rootScope', //Notice here
                         '$location', function($scope, 
                                               $http, 
                                               $location, //Notice here
                                               $rootScope) {
}]);