ListView在SegmentedBar路由后不呈现

时间:2016-07-16 14:44:11

标签: nativescript angular2-nativescript

我已经开始在Angular2中使用Nativescript - 这真是太棒了。 我在存储库的示例文件夹中使用了nativescript-angular2 List示例(nativescript-angular / ng-sample / app / examples / list /)。我可以让组件在我的主屏幕上呈现数据。但是,当将List组件添加到使用Router(v3)路由到的组件中时,数据不会呈现。它只是呈现一个空项目列表。

有没有人有同样的问题?

非常感谢

1 个答案:

答案 0 :(得分:0)

是的,我有同样的问题。这个问题已经为开发人员所知,希望我们能尽快得到解决。

似乎ngzone在路由后无法启动(导致无法观察到任何更改) 作为解决方法尝试导入:

import {ChangeDetectorRef,ApplicationRef} from '@angular/core';

...

初始化并使用:

constructor(private _applicationRef: ApplicationRef,private ref:ChangeDetectorRef){

        setTimeout(() => {
            _applicationRef.zone.run(() => _applicationRef.tick())
        }, 100)//request with timeout to start zone

        this.ref.reattach();//reattach the change detector
                            //(i use it whenever there is a change that will change the template)

}