角度4 - 第一个负载滤波器不工作

时间:2017-08-21 07:41:39

标签: angular adal

我使用Azure AD身份验证进行角度4应用程序。用户登录后,我将用户重定向到Home组件。在Home组件上,我调用API来获取某些数据并在Grid中加载。我有文本框,用户可以在其中过滤网格数据并为此编写自定义PIPE。 问题:Home组件首次加载时,数据正确,但过滤器无法工作,直到我第一次手动刷新页面。 以下是我的路线配置。

const appRoutes: Routes = [
    { path: '', redirectTo: '/login', pathMatch: 'full' },    
    { path: 'home', component: HCOHomeComponent,canActivate: [OAuthCallbackHandler]},
    { path: 'login', component: LoginComponent },
    { path: 'hco/:hcoId', component: HCODetailsComponent, canActivate: [OAuthCallbackHandler]},
    { path: 'hco/edit/:hcoId', component: HCOEditComponent,canActivate: [OAuthCallbackHandler] },
    { path: 'hcoevent/:hcoeventId', component: HCOEventDetailsComponent, canActivate: [OAuthCallbackHandler] },
    { path: 'hcoevent/edit/:hcoeventId', component: HCOEventEditComponent, canActivate: [OAuthCallbackHandler] },
    { path: 'id_token', component: OAuthCallbackComponent, canActivate: [OAuthCallbackHandler] }, 
    { path: 'access_token', component: OAuthCallbackComponent, canActivate: [OAuthCallbackHandler] }, 
];

export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes,{ useHash: true });

我有这样的过滤器,

 <div  *ngFor="let hco of lstResult | searchFilter: {Name: searchID}">

其中searchID是我的文本框值。

Home组件具有以下代码,用于使用服务从API获取数据。

GetAllHCOs() {
        this.msg = 'Loading...';        
        this.hcoService.get()
            .subscribe((hcos: any) => {
                this.zone.run(() => {
                    this.lstResult = hcos; this.msg = '';
                })
            }, error => this.msg = '');

    }

如果我在这里做错了,请告诉我。 而且当我在第一次加载时调用编辑它不起作用,我必须刷新页面,然后一切正常。

0 个答案:

没有答案