【技巧】ionic3中content的resize知多少

content中的resize方法,多少人知道和用过?

resize这个方法官方文档有写,所以我以为没什么特别,直至有几人问我,才发现不少人是不知道这个东西的,所以还是写一下。resize官网说明如下:

Tell the content to recalculate its dimensions. This should be called after dynamically adding/removing headers, footers, or tabs.

中文意思是动态添加/移除headers、footers或者tabs时,重新计算content的维度。
但其功能不仅于此,它还包含headers、footers或者tabs自身维度的调整,还有内部元素的动态添加/移除。

怎么理解呢?这样说吧,如果想把一个元素固定在头部,可以放在headers里面,如果想固定在底部,可以放在footers里面,然而当把这个元素给删除的时候(如使用*ngIf),它所撑开的headers或者footers空间是不会自动回收的,这样就会显示空白一片,这个时候,遇到此问题的人,一般第一反应是手动调整headers或者footers的高度样式,如ngClass或者ngStyle.height等等,然而不同平台(ios、android...)的值是不同的,所以也不好处理。同理,当动态添加/移除headers、footers时也面临同样空间处理问题。

针对这些情况,官网早有方法:

this.content.resize();

对应官网例子:

@Component({
  template: `
    <ion-header>
      <ion-navbar>
        <ion-title>Main Navbar</ion-title>
      </ion-navbar>
      <ion-toolbar *ngIf="showToolbar">
        <ion-title>Dynamic Toolbar</ion-title>
      </ion-toolbar>
    </ion-header>
    <ion-content>
      <button ion-button (click)="toggleToolbar()">Toggle Toolbar</button>
    </ion-content>
`})
class E2EPage {
  @ViewChild(Content) content: Content;
  showToolbar: boolean = false;

  toggleToolbar() {
    this.showToolbar = !this.showToolbar;
    this.content.resize();
  }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,073评论 19 139
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,868评论 0 17
  • 一、样式篇 第1章 初识jQuery (1)环境搭建 进入官方网站获取最新的版本 http://jquery.co...
    凛0_0阅读 8,861评论 0 44
  • 躺在地上,什么也不去想。 闭上双眼,什么也不去看。 关上手机,什么也不去听。 就这样任时光流逝吧,流逝吧。 就这样...
    少白少白阅读 1,315评论 0 2
  • 图片来自网络 【编者按】人工智能正迎来快速发展的阶段。当我们的谈论人工智能的时候,我们可能会想到它在安防、金融等领...
    花捧娱乐vlog视频植入阅读 721评论 0 0

友情链接更多精彩内容