Ждите InjectUser в Angular 2/Meteor

У меня есть простой компонент, настроенный следующим образом:

import { Component, OnInit } from '@angular/core';   
import { Meteor } from 'meteor/meteor'; 
import { InjectUser } from 'angular2-meteor-accounts-ui';

@Component({
    selector: 'my-component',
    template: 'Hello, World!'
})
@InjectUser('user')
export class myComponent implements OnInit {
    user: Meteor.User;

    ngOnInit() {
        console.log(this.user); // undefined
    }
}

Я ожидаю this.user содержать зарегистрированную информацию пользователя. На всех последующих загруженных компонентах это работает, но для самого первого загруженного компонента this.user является undefined

Я хотел бы, чтобы пользовательские данные были предварительно заполнены до инициализации любого компонента. Таким образом, мне не нужно иметь одинаковый код подписки на каждый компонент. Как мне это сделать?

1 ответ

Я думаю @InjectUser('user') а также this.user используется в основном для визуализации html. В машинописном коде вы должны использовать Meteor.user() а также Meteor.userId() либо присвоив его переменной, либо напрямую. все, что вы получите от this.user, вы также получите от Meteor.user()

Другие вопросы по тегам