0

我有一个简单的组件设置如下:

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.userundefined

我希望在初始化任何组件之前预先填充用户数据。这样我就不必在每个组件上都有相同的订阅代码。我该怎么做呢?

4

1 回答 1

1

我认为@InjectUser('user')并且this.user主要用于 html 渲染。在打字稿代码中,您应该使用Meteor.user()Meteor.userId()或者通过将其分配给变量或直接使用。你从 this.user 得到的一切,你也会从 Meteor.user() 得到

于 2016-12-12T15:45:44.553 回答