TypeError:$ location.path不是函数

时间:2016-08-08 07:41:07

标签: javascript html angularjs

<span class="button-icon pull-left" ><i class="ti ti-plus" ng-click="itemOpen()"></i></span>

这是我的Html代码。

 $scope.itemOpen=function()
         {
             return $location.path('/ConsultationParameterMaster');
         };

这是我的剧本。 错误是。 $location.path is not a function

5 个答案:

答案 0 :(得分:6)

如果要执行此操作,则需要在控制器中注入$ location。在哪里你缺少'焦点'作为参数

app.controller('sampleController', ['$scope','$http','$location', function($scope,$http,$location) {
 $scope.itemOpen=function()
         {
             return $location.path('/ConsultationParameterMaster');
         };
}

修改

根据您的评论,您需要安排依赖项

coreModule.registerController('MedicalRecordsController', ['$rootScope', '$scope', '$sessionStorage', 'Restangular', '$element', '$themeModule', '$filter', '$uibModal', 'gettext', 'focus', '$location', function ($rootScope, $scope, $sessionStorage, Restangular, $element, $themeModule, $filter, $uibModal, gettext,focus,$location)

答案 1 :(得分:1)

&#13;
&#13;
app.controller('ctrl', ['$http','$scope','$location', function($http,$scope,$location) {
 $scope.itemOpen=function()
         {
             return $location.path('/ConsultationParameterMaster');
         };
}
&#13;
<span class="button-icon pull-left" ><i class="ti ti-plus" ng-click="itemOpen()"></i></span>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您的控制器应以$location为参数。如果您忘记注入$location,您显然无法使用它。

答案 3 :(得分:0)

在你的javascript中,无论你的角度控制器是什么,你需要为$location注入依赖关系,如下所示:

app.controller('myCtrl', ['$scope', '$location', function($scope, $location) {
    ...
}

答案 4 :(得分:0)

您的依赖关系未正确排列。您在依赖项列表中有'focus'但在参数列表中没有,因此$location实际上是focus。这就是为什么它没有.path()方法。

要解决此问题,请在参数中添加focus

$modal, gettext, /*-->*/focus/*<--*/, $location)