Ждите 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()