小编Jos*_*osh的帖子

Angular2 - 服务没有在构造函数和ngOnInit之外定义?

我必须在这里做错事,但我不知道是什么......我是一个Angular2新手在我的第一个ng2应用程序中磕磕绊绊.

我正在尝试从组件内访问服务上的方法,但该服务仅在构造函数()和ngOnInit()中定义,它在我的其他组件函数中返回为未定义.

这与此问题类似,但我使用的是private关键字,但仍然存在问题.

这是我的服务:

import { Injectable } from "@angular/core";
import { AngularFire,FirebaseListObservable } from 'angularfire2';
import { User } from './user.model';

@Injectable()

export class UserService {
    userList$: FirebaseListObservable<any>;
    apples: String = 'Oranges';

    constructor(private af: AngularFire) {
        this.initialize();
    }

    private initialize():void {
        this.userList$ = this.af.database.list('/users');
    }

    getTest(input:String):String {
        return "Test " + input;
    }

    getUser(userId:String):any {
        //console.log('get user',userId);
        let path = '/users/'+userId;
        return this.af.database.object(path);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的组件:

import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } …
Run Code Online (Sandbox Code Playgroud)

angular2-services angular2-components angular

2
推荐指数
1
解决办法
1122
查看次数