javascript - 如何在应用程序组件中的ajax调用响应后再次显示标题侧栏

标签 javascript angular amazon-cognito

我正在使用以下AWS api来根据访问 token 获取用户信息(在app.component.ts中进行一些计算之后)。

this.cognitoidentityserviceprovider.getUser({"AccessToken":accToken},
                    function(err, data){
             // bind this data to header 
});

我希望 api 返回数据绑定(bind)到标题栏,但标题组件较早渲染,我无法再次重新渲染。 我的路由结构如下layout.component.html

<div class="wrapper">
    <!-- top navbar-->
    <app-header class="topnavbar-wrapper"></app-header>
    <!-- sidebar-->
    <app-sidebar class="aside"></app-sidebar>
    <!-- Main section-->
    <section>
        <!-- Page content-->
        <div class="content-wrapper">
            <router-outlet></router-outlet>
        </div>
    </section>
    <!-- Page footer-->
    <footer app-footer></footer>
</div>

最佳答案

app.component.html 中的代码

<div class="wrapper">
    <!-- top navbar-->
    <app-header class="topnavbar-wrapper" [apiresponse]="apidata"></app-header>
    <!-- sidebar-->
    <app-sidebar class="aside"></app-sidebar>
    <!-- Main section-->
    <section>
        <!-- Page content-->
        <div class="content-wrapper">
            <router-outlet></router-outlet>
        </div>
    </section>
    <!-- Page footer-->
    <footer app-footer></footer>
</div> 

在app.component.ts中

let self = this ;
apidata:any = "";
this.cognitoidentityserviceprovider.getUser({"AccessToken":accToken},
                    function(err, data){
     // bind this data to header 
     self.apidata = data;
});

在 header.component.ts 中

export class HeaderComponent implements OnInit {
  @Input() apiresponse : any;
  //your code here  
}

在 header.component.html 中使用 {{apiresponse}}

关于javascript - 如何在应用程序组件中的ajax调用响应后再次显示标题侧栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48500521/

相关文章:

javascript - 如何更改动态创建的按钮调用的函数?

angular - 使用 flex-layout 填充 Angular Material 2 选项卡

node.js - AWS Lambda 安全 - 默认访问 Cognito?

amazon-web-services - Api Gateway Stages 的不同 Cognito 池授权器

javascript - 创建 jquery 自定义对象

javascript - 注入(inject)应用程序的 Angular Controller 未定义

javascript - 在 React 中将 setInterval 添加到 componentDidMount

angular - Angular Material sidenav 错误 : cannot read property of undefined

html - Angular 点击事件绑定(bind)无法正常工作

android - Amazon Cognito 的推荐邀请