2016-05-12 16 views
0

ich einen neuen Dienst in AngularJS zu schaffen versuchen und zu verwenden, jedoch ich folgende Fehlermeldung erhalten -nicht funktionieren kann in Angularjs Dienst zugreifen

Error message ProjectService.one ist keine Funktion

Die Javascript -

var app = angular.module('app', ['ngRoute']); 
 

 
app.service('ProjectService', function() { 
 
    this.one = function one() { 
 
     console.log('test service'); 
 
    }; 
 
}); 
 

 
app.controller('ProjectsController', ['$scope', function (ProjectService, Test) { 
 
    ProjectService.one(); 
 
}]);

+2

try 'this.one = function() {....}' – Bikee

+1

das sollte keine Rolle spielen –

+0

@Bikee Anonyme Funktion versucht, aber das funktioniert auch nicht. – Shivendra

Antwort

3

In Ihrer Controller-Deklaration stimmt etwas nicht. Ihr ProjectService-Parameter stimmt mit dem $ scope-Dienst überein. Mach das stattdessen;

app.controller('ProjectsController', ['$scope', 'ProjectService', 'Test', function ($scope, ProjectService, Test) { 
    ProjectService.one(); 
}]); 

Die Service-Parameter müssen die Palette von Dienstleistungen (gleiche Anzahl und Reihenfolge) entsprechen

+0

Danke dafür. Ich kann nicht glauben, dass ich das vermasselt habe. @ M.S Prost – Shivendra

0

Sie haben die ProjectService und anderen erforderlichen abhängigen Module zu injizieren, wie unten erwähnt:

app.controller('ProjectsController', ['$scope','ProjectService','Test', function ($scope,ProjectService, Test) { 
    ProjectService.one(); 
}]); 
Verwandte Themen