2016-05-24 3 views
0

я получаю мою голову вокруг угловой 2 и пытается определить сервис под названием SearchService и ввести это в bootstap части:Как исправить угловую ошибку 2 Не удается прочитать свойство 'getOptional'?

import {SearchService} from 'src/service'; 

Это то, что услуга выглядит следующим образом:

import {Injectable} from 'angular2/core'; 
import {URLSearchParams, Jsonp} from 'angular2/http'; 

@Injectable() 
export class SearchService { 
    constructor(private http: Http) {} 

    search (name: string) { 
     http.get('https://api.spotify.com/v1/search?q='+name.value+'&type=artist') 
     .map(response=>response.json()); 
    } 
} 

Однако хау я могу исправить эту ошибку, которая появляется при запуске приложения ?:

VM337 angular2-polyfills.js:138 Error: Cannot read property 'getOptional' of undefined 
    Error loading http://run.plnkr.co/fGkpQYXMc0eGUy6e/src/boot.ts 
    at _runAppInitializers (https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.0/angular2.dev.js:14832:25) 
    at PlatformRef_._initApp (https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.0/angular2.dev.js:14813:7) 
    at PlatformRef_.application (https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.0/angular2.dev.js:14768:22) 
    at Object.bootstrap (https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.0/angular2.dev.js:25054:64) 
    at execute (http://run.plnkr.co/fGkpQYXMc0eGUy6e/src/boot.ts!transpiled:60:23) 
    at u (https://rawgit.com/systemjs/systemjs/0.19.6/dist/system.js:5:97) 
    at Object.execute (https://rawgit.com/systemjs/systemjs/0.19.6/dist/system.js:5:3188) 
    at y (https://rawgit.com/systemjs/systemjs/0.19.6/dist/system.js:4:9948) 
    at w (https://rawgit.com/systemjs/systemjs/0.19.6/dist/system.js:4:10327) 

plunkr ref:http://plnkr.co/edit/F6TSGfyRnR5jvbpiv2QJ?p=preview 

ответ

0

важной частью ошибки является линией над одним вы перечислили, ш hich говорит:

Не удается разрешить все параметры для SearchService (?). Убедитесь, что все они имеют допустимый тип или аннотации.

Ваша служба поиска пытается определить переменную типа Http, но вы не импортировали Http на службу.

изменить строку импорта на import {URLSearchParams, Jsonp, Http} from 'angular2/http';.

+0

Хорошее пятно :) –

Смежные вопросы