컨트롤러에 서비스를 삽입하여 컨트롤러에서 액세스하려는 angularjs 서비스를 만들었습니다. 내가 사용한 코드는 다음과 같습니다.
angular.module('ControllerModule').controller('AwarenessCntrl',['TestService',
function(TestService, $scope, $state)
{
console.log(TestService.list()[0].label);
$scope.goToHome = function()
{
$state.go('home');
};
}]);
콘솔에 다음과 같은 오류 메시지가 나타납니다. 오류 : undefined는 개체가 아닙니다 (평가 중
'$scope.goToHome = function()
{
$state.go('home');
}')
다음은 서비스에 사용한 코드입니다.
angular.module('AppServices').service('TestService', [TestService]);
function TestService() {
var items = [{
id: 1,
label: 'Balle Balle, Service Chal Payi'
}, {
id: 2,
label: 'Item 1'
}];
this.list = function() {
return items;
};
this.add = function(item) {
items.push(item);
};
}
콘솔은 서비스에서 데이터를 인쇄 할 수 있습니다. 그러나 위에서 언급 한 오류 메시지도 표시됩니다. 내가 뭘 잘못하고 있니?
$scope, $state
문자열 배열 목록에도 를 포함해야합니다 . 종속성 주입에 대한 Angular 문서를 참조하십시오 .
여기에서 모범 사례는 먼저 각도 기능에 빌드를 포함시킨 다음 나중에 사용자 지정 서비스를 포함하는 것입니다.
angular.module('ControllerModule').controller('AwarenessCntrl',['$scope', '$state', 'TestService',
function($scope, $state, TestService)
{
console.log(TestService.list()[0].label);
$scope.goToHome = function()
{
$state.go('home');
};
}]);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다