Angular 2 でサービス インジェクションがどのように機能するかを学習しようとしています。アプリとサービスを作成しました。私のサービスは次のとおりです。
import {Injectable} from 'angular2/core';
@Injectable()
export class UserService {
logged: boolean;
users: Array<any>;
constructor () {
this.logged = false;
this.users = [
{username: 'david', password: 'password'}
]
}
checkLogin (username, password) {
this.users.forEach((user) => {
if (user.username == username && user.password == password) {
this.logged = true;
return true;
} else {
this.logged = false;
return false;
}
})
}
logOut () {
this.logged = false;
}
}
これをブートストラップに挿入して、次のようにアプリケーション全体でアクセスできるようにします。
import {bootstrap} from 'angular2/platform/browser'
import {AppComponent} from './components/app.component'
import {ROUTER_PROVIDERS} from 'angular2/router';
import {UserService} from './services/user.service';
bootstrap(AppComponent, [ROUTER_PROVIDERS, UserService]);
次に、コンポーネント ビューの 1 つでこれにアクセスしようとしましたが、アクセスできません。私は次のようにアクセスしようとしました:
import {Component} from 'angular2/core';
import {ROUTER_DIRECTIVES} from "angular2/router";
@Component({
selector: 'navbar',
template: '<li><a>{{UserService.logged}}</a></li>',
directives: [ROUTER_DIRECTIVES],
})
export class NavbarComponent {
}
変数にアクセスできません。なぜですか?