初めてAngular2を試していますが、サービスを作成する際に問題が発生しています。実際にそのサービスを使用しています。私は、次のしているコンポーネントに続いて、次のデータサービスAngular2サービスの作成と使用
import {Injectable} from 'angular2/core';
import {recentActivity} from './app/components/recentActivity/model'
@Injectable()
export class RecentActivityDataService {
loadList() {
const items: Array<recentActivity> = [];
items.push({
url: 'From Service',
name: 'From Service'
});
return items;
}
}
を作成しました:
私は、次のエラーメッセージに取得しています。このコンポーネントを引き上げる
import {Component, OnInit} from 'angular2/core'; import {recentActivity} from './model'; import {RecentActivityDataService} from './dataService'; @Component({ selector: 'recentActivity', templateUrl: './app/components/recentActivity/recentActivity.html', providers: [RecentActivityDataService] }) export class RecentActivity implements OnInit { items: Array<recentActivity> = []; constructor(private dataService: RecentActivityDataService) { } ngOnInit() { this.items = this.dataService.loadList(); } }
"Uncaught(約束): の" RecentActivity "(?)のすべてのパラメータを解決できません。すべてのパラメータがInjectの で飾られていることを確認してください。 'RecentActivity' は注射可能なもので装飾されています。
私のサービスには@インジェクタブルがあり、私のコンポーネントにはプロバイダとしてリストされているので、私はここで逃しているのか分かりません。しかし、コンストラクタでは、これを解決できないと言ってもまだ失敗しています。私は、次の変更を試してみました
import {Component} from 'angular2/core';
import {StandardNavigation} from './navigation/standard';
import {RecentActivity} from './components/recentActivity/recentActivity';
@Component({
selector: 'cranalytics',
templateUrl: './app/main.html',
directives: [StandardNavigation, RecentActivity]
})
export class AppComponent {
}
次いるapp.Componentで
。私のメインでは、私はAppComponentをブートストラップしています: ブートストラップ(AppComponent); 私は私がデータサービスimport {Component, OnInit, Inject, forwardRef} from 'angular2/core';
import {recentActivity} from './model';
import {RecentActivityDataService} from './dataService';
@Component({
selector: 'recentActivity',
templateUrl: './app/components/recentActivity/recentActivity.html',
})
export class RecentActivity implements OnInit {
items: Array<recentActivity> = [];
constructor( private dataService: RecentActivityDataService) {
}
ngOnInit() {
this.items = this.dataService.loadList();
}
}
を輸入しているしかし、それは私に同じエラーメッセージを与える最近の活動ではあり
import {Component} from 'angular2/core';
import {StandardNavigation} from './navigation/standard';
import {RecentActivity} from './components/recentActivity/recentActivity';
import {RecentActivityDataService} from './components/recentActivity/dataService';
@Component({
selector: 'cranalytics',
templateUrl: './app/main.html',
directives: [StandardNavigation, RecentActivity],
providers: [RecentActivityDataService]
})
export class AppComponent {
}
プロバイダとしてサービスを入れているAppComponentで
「RecentActivity」を要求するクラスはありません。エラーは他のどこかから来ます。あなたは 'RecentActivity'型のコンストラクタパラメータをどこに持っていますか? –
サービスをコンポーネントに提供するのではなく、ブートストラップするとどうなりますか? – Harangue
更新されたメッセージを表示 –