注销时自动隐藏侧面菜单

时间:2019-04-25 12:44:50

标签: angular typescript ionic-framework

所以基本上我想在登录页面上禁用侧面菜单。我正在这样做,并且可以正常工作。

login.page.ts:

SearchResponse searchUnrestricted(QueryBuilder query, @Nullable List<SortBuilder> sort, int from, int size);

  /**
   * Search component metadata and browse results (paged) with content selectors applied.
   *
   * @since 3.1
   */
  SearchResponse search(QueryBuilder query, @Nullable List<SortBuilder> sort, int from, int size);

  /**
   * Search component metadata and browse results with content selectors applied.
   *
   * @since 3.14
   */
  Iterable<SearchHit> browse(QueryBuilder query);

  /**
   * Search component metadata and browse results (paged) in selected repositories
   *
   * @since 3.14
   */
  SearchResponse searchUnrestrictedInRepos(final QueryBuilder query,
                                           @Nullable final List<SortBuilder> sort,
                                           final int from,
                                           final int size,
                                           Collection<String> repoNames);

但是当我注销时,如果向左滑动,则仍然可以使用侧面菜单。登出功能:

ngOnInit() {
  this.menu.enable(false);
}

HTML代码:

logout(){
    localStorage.clear();
  this.navCtrl.navigateRoot('login');
  }

2 个答案:

答案 0 :(得分:1)

ngOnInit()挂钩仅在加载组件时被调用一次。

在注销功能中使用ngOnChanges()挂钩或禁用菜单。

在使用离子框架时,请使用ionViewDidEnter()钩子。

ionViewDidEnter(){
     if(...not-logged-in...){
          this.menu.enable(false);
     } else {
          this.menu.enable(true);
     }
}

答案 1 :(得分:0)

您可以在注销方法中执行相同的操作

logout(){
    this.menu.enable(false);
    localStorage.clear();
    this.navCtrl.navigateRoot('login');
  }