AngularJsのサービスを使用しようと考え以下のコードを書いたのですが、以下のエラーが出てしまいました。どこが違ってるかわかりますか?
エラー
Error: [$injector:unpr] Unknown provider: YouTubeSearchServiceProvider <- YouTubeSearchService <- SearchController
コントローラ
lang
1'use strict' 2 3angular.module('app') 4.controller('HomeController', function($scope){ 5 6}) 7.controller('SearchController', function($scope, YouTubeSearchService){ 8 $scope.$watch('searchWord', function(){ 9 YouTubeSearchService.search($scope.searchWord, null).then(function(data){ 10 $scope.response=data; 11 }); 12 }); 13 14})
サービス
lang
1'use strict' 2 3var API_KEY = "hogehoge" 4 5angular.module('app') 6.factory('YouTubeSearchService', function($http){ 7 var search = function(q, pageToken){ 8 return $http.get('https://www.googleapis.com/youtube/v3/search', {q: q, pageToken: pagetoken: maxResults: 20, type: video, videoEmbeddable: true, videoSyndicated: true, part: "id,snippet", key: AP I_KEY}) 9 .than(function(response){ 10 return response; 11 }); 12 }; 13 return { 14 search: search 15 }; 16})
app.js
lang
1 1 angular 2 2 .module('app', [ 3 3 'ui.router' 4 4 ]) 5 5 .config(['$stateProvider', '$urlRouterProvider', function($stateProvider, 6 6 $urlRouterProvider) { 7 7 $stateProvider 8 8 .state('home', { 9 9 url: '/', 10 10 templateUrl: 'views/home.html' 11 11 }) 12 12 .state('search', { 13 13 url: '/search', 14 14 templateUrl: 'views/search.html', 15 15 controller: 'SearchController' 16 16 }) 17 17 .state('ranking', { 18 18 url: '/ranking', 19 19 templateUrl: 'views/ranking.html', 20 20 controller: 'RankingController' 21 21 }) 22 22 .state('inquery', { 23 23 url: '/inquery', 24 24 templateUrl: 'views/inquery.html', 25 25 }); 26 26 27 27 $urlRouterProvider.otherwise('home'); 28 28 }]);
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。