该页面未在Angular 2中显示完整

时间:2016-01-23 12:33:07

标签: typescript angular

我正在使用Angular 2 beta(TypeScript)。

当我点击使用<a [routerLink]="['Friends']">Friends</a>的链接转到此页面时,它会显示文本朋友列表 ID

但是,当我使用代码this._router.navigate(['/Friends']);转到此页面时,它只能显示文字好友列表,但没有 ID 。< / p>

import {Component, View} from 'angular2/core';

@Component({
    selector: 'friends-component'
})
@View({
    template: `
        friends list:
        <ul>
            <li *ngFor="#friend of friends">
                {{friend.id}}
            </li>
        </ul>
    `
})
export class FriendsComponent {
    public friends = FRIENDS;
}

var FRIENDS: any[] = [
    { "id": 11 },
    { "id": 22 },
    { "id": 33 },
];

2 个答案:

答案 0 :(得分:1)

问题是因为我的代码this._router.navigate(['/Friends']);在Angular区域之外运行。查看this了解详情。

解决方案是:

第一

import {NgZone} from 'angular2/core';

其次,添加此

constructor(private _ngZone: NgZone) {}

第三,将代码更改为

this._ngZone.run(() => {
    this._router.navigate(['/Friends']);
});

答案 1 :(得分:-1)

你应该使用

this._router.parent.navigate(['/Friends']):