私は古いプロジェクトに新しい機能を追加する角度のあるプロジェクトに取り組んでいます。
コントローラにサービスを登録しようとしていますが、コントローラがサービス内の機能を見つけることができないエラーが発生しています。コントローラのanglejsからサービスにアクセスできない
angular.module("test").service("listService", listService);
listService.$inject = ['$state', '$rootScope'];
function listService($state, $rootScope) {
function getPage(%function_ARGUMENTS%) {
//getPage function definition goes here
}
}
:ここ
はここでサービスが定義されている方法です
angular.module("test").controller("listCtrl", listCtrl);
listCtrl.$inject = ["$scope", "$state", "$timeout", "listService", "$rootScope"];
function listCtrl($scope, $state, $timeout, listService, $rootScope) {
this.$scope= $scope;
$scope.service=listService;
//some other definitions
$scope.items = $scope.service.getPage(%function_ARGUMENTS%);
}
(。私はそれが標準的な方法ではないですけど、私は、アプリケーション全体がないため、これに従わなければならない)私のコントローラが定義されている方法です
さて、何らかの理由で、私はエラーを取得する:
Cannot read property 'getPage' of undefined
私がmighかを把握することはできませんこれを引き起こしている。
$scope
の定義方法に問題はありますか?はいの場合、this.$scope=$scope
とすると、これを行う正しい方法は何も変更できません。
EDIT:質問に複数のタイプミスが修正されました。私は自分のプログラムでそのタイプミスをしていない、それは私がSOに入力している間に間違いだった。
「$ scope.services」に誤字があります。'$ scope.service.getPage(%function_ARGUMENTS%);' –
私はこの問題のタイプミスを修正しました。私のメインプログラムでは、タイプミスはエラーの原因ではありません。 – ChaoticTwist
私はあまりにも、とにかく、あなたが問題が重要であることを考え出した答えを掲載しました。 –