有条件的重定向抛出错误

时间:2018-07-18 06:02:03

标签: typescript angular5 typescript-typings

我正在从订阅中检查@Override public Map<String, String> handleClaimMappings(StepConfig stepConfig, AuthenticationContext context, Map<String, String> map, boolean isFederatedClaims) throws FrameworkException { final Map<String, String> claimMappings = new HashMap<>(); final AuthenticatedUser authenticatedUser = getAuthenticatedUser(stepConfig, context); if (authenticatedUser != null && authenticatedUser.getUserAttributes() != null) { claimMappings.putAll(FrameworkUtils.getClaimMappings(authenticatedUser.getUserAttributes(), true)); } return claimMappings; } ,否则需要重定向到主页。但出现错误。

这是我的代码:

data node

但是出现错误:

this.sharedData.onlineBookingDatasObserver.subscribe((data:any) => {

            if( data && data.bd.cart ){
                this.cartData = data.bd.cart;
                return;
            }

            this.router.navigate(['']);

});

2 个答案:

答案 0 :(得分:1)

应为:

     if(data && data.bd && data.bd.cart)
      {
        //do stuff here
      }

答案 1 :(得分:0)

出现错误是因为未定义 data.bd 。因此,您必须像检查数据一样检查它是否在那里。因此,如下所示修改第三行。

if( data && data.bd && data.bd.cart ){