angular2在渲染模板

时间:2017-04-04 22:54:59

标签: angular

我要做的是在渲染模板之前获取数据。我知道有很多这样的问题,但没有一个能解决我的问题。

我有一个类似的组件

<comments [page]="contracts"></comments>

我在不同页面上使用此组件来显示注释部分,来自后端的数据取决于页面参数。所以,我不能使用解析器,因为没有分隔页面的评论。它使用APP_INITIALIZER的第二种方式,但是以这种方式我无法获得@input页面,所以我无法从后端获得正确的评论。有什么想法吗?

我的组件代码

import { Component, Input, OnInit } from '@angular/core';
import { CommentsService } from './comments.service';
import { Comment } from './comment';

@Component({
    selector: 'comments',
    template: window['isMobile'] ? require('./comments-mobile.html') : require('./comments.html'),
    styleUrls: ['./comments.scss']
})
export class CommentsComponent implements OnInit {
    @Input() public page: string;
    public comments: Comment[];

    constructor(private commentService: CommentsService) {
    }

    public ngOnInit() {
        this.commentService.getByPage(this.page).subscribe((comments) => {
            this.comments = comments;
            // view still not rendered, so I can't add swipe here
        });
    }
}

这是我的HTML

<div *ngIf="comments">
    <div *ngFor="let comment of comments"></div>
</div>

0 个答案:

没有答案