如何动态管理角度布局

时间:2018-07-19 07:30:26

标签: angular layout

在我的app.components.html

public static void getTotalHeightofListView(ListView listView) {

    ListAdapter mAdapter = listView.getAdapter();

    int totalHeight = 0;

    for (int i = 0; i < mAdapter.getCount(); i++) {
        View mView = mAdapter.getView(i, null, listView);

        mView.measure(
                MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED),

                MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED));

        totalHeight += mView.getMeasuredHeight();
        Log.w("HEIGHT" + i, String.valueOf(totalHeight));

    }

    ViewGroup.LayoutParams params = listView.getLayoutParams();
    params.height = totalHeight
            + (listView.getDividerHeight() * (mAdapter.getCount() - 1));
    listView.setLayoutParams(params);
    listView.requestLayout();

}

当我创建路由时,它将获得页眉和页脚,但是某些路由(例如“登录页面”)不需要页眉和页脚。当浏览器网址为localhost:4000 / login时,如何仅显示login.components.html而没有页眉和页脚。需要帮助!

1 个答案:

答案 0 :(得分:0)

您应该使用名称创建多个路由器出口。

 <div class="layout">
   <app-sidebar></app-sidebar>
     <!-- Page Container START -->
   <div class="page-container">
      <router-outlet name="header"></router-outlet>
      <router-outlet></router-outlet>
      <router-outlet name="footer"></router-outlet>
   </div>
<!-- Page Container END -->

然后管理您的路线:

const routes: Routes = [
  {
    path: 'test',
    component: TestComponent,
    children:[
      {
        path: '',
        component: HeaderComponent,
        outlet:'header'
      },
      {
        path: '',
        component: FooterComponent,
        outlet:'footer'
      }
    ]
  }
];