У меня есть служба, определенная в моем приложении Angular2 (2.0.0-beta.0). Это что-то вроде этого:Угловое обслуживание 2 не вставляется в компонент
import {Injectable} from "angular2/core";
@Injectable()
export class MyService {
constructor() {
}
getSomething() {
return 'something';
}
}
он у меня в списке в моей начальной загрузки функции() в моем главном файле приложения так, что она должна быть доступна для моего кода в целом:
bootstrap(App, [MyService, SomeOtherService, ROUTER_DIRECTIVES[);
Иногда я могу «т использовать сервис в качестве компонента, хотя у меня есть что-то вроде myService:MyService
в функции компонент constructor()
, например:
import {MyService} from '../services/my.service';
@Component({
selector: 'my-component',
directives: [],
providers: [],
pipes: [],
template: `
<div><button (click)="doStuff()">Click Me!</button></div>
`
})
export MyComponent {
constructor(myService:MyService) {} // note the private keyword
doStuff() {
return this.myService.getSomething();
}
}
в других местах он работает отлично. В тех местах, где она не работает, я получаю такое сообщение при попытке доступа к нему:
EXCEPTION: TypeError: Cannot read property 'getSomething' of undefined
Это в основном означает, что услуга не была введена.
Что вызывает его не впрыскивание?
Я объявляя их перед конструктором и используя 'this.MyService = MyService', но мне нравится этот метод .. –
У меня есть мое точно так же, как ваша, и я все еще получаю«MyService»не определен ошибка во время выполнения –
Я сделал то, что вы говорите, но все еще не работает, и давая эту ту же ошибку –