Content
内容组件提供了一个易于使用的内容区域,并提供了一些有用的方法来控制可滚动区域。 在一个视图组件中只应该有一个内容。 如果需要其他可滚动元素,请使用ionScroll。
内容区域还可以通过刷新组件来实现刷新。
使用
<ion-content>
Add your content here!
</ion-content>
要从页面的逻辑中引用内容组件,可以使用Angular的@ViewChild注释:
import { Component, ViewChild } from '@angular/core';
import { Content } from 'ionic-angular';
@Component({...})
export class MyPage{
@ViewChild(Content) content: Content;
scrollToTop() {
this.content.scrollToTop();
}
}
实例成员
addImg()
contentBottom
一个数字表示内容底部已经调整了多少个像素,可以通过填充或边距进行调整。 这种调整是为了说明页脚所需的空间。
Returns:
number
contentHeight
可见区域的内容高度。 这不包括在溢出区域之外的内容或页眉和页脚下的内容区域。 只读。
Returns:
number
contentTop
一个数字表示内容顶部已经调整了多少个像素,可以通过填充或边距进行调整。 此调整是为了解决标题所需的空间。
Returns:
number
contentWidth
内容宽度包括由于溢出而在屏幕上不可见的内容。 只读。
Returns:
number
directionX
当前或最后已知的水平滚动方向。 可能的字符串值includeeright和left。
Returns:
string
directionY
当前或最后已知的垂直滚动方向。 可能的字符串值包括在内。
Returns:
string
getContentDimensions()
返回内容和滚动元素的维度。
Returns:
object
尺寸内容和滚动元素的尺寸
Property | Type | Details |
---|---|---|
dimensions.contentHeight | number |
content offsetHeight |
dimensions.contentTop | number |
content offsetTop |
dimensions.contentBottom | number |
content offsetTop+offsetHeight |
dimensions.contentWidth | number |
content offsetWidth |
dimensions.contentLeft | number |
content offsetLeft |
dimensions.contentRight | number |
content offsetLeft + offsetWidth |
dimensions.scrollHeight | number |
scroll scrollHeight |
dimensions.scrollTop | number |
scroll scrollTop |
dimensions.scrollBottom | number |
scroll scrollTop + scrollHeight |
dimensions.scrollWidth | number |
scroll scrollWidth |
dimensions.scrollLeft | number |
scroll scrollLeft |
dimensions.scrollRight | number |
scroll scrollLeft + scrollWidth |
getFixedElement()
isScrolling
内容是否正在滚动或不正在滚动。
Returns:
boolean
resize()
告诉内容重新计算其尺寸。 在动态添加/删除页眉,页脚或选项卡后,应该调用此操作。
scrollHeight
内容高度包括由于溢出而在屏幕上不可见的内容。 只读。
Returns:
number
scrollLeft
内容左边距离最左边的可见内容。
Returns:
number
scrollTo(x, y, duration)
滚动到指定的位置。
Param | Type | Details |
---|---|---|
x | number |
The x-value to scroll to. |
y | number |
The y-value to scroll to. |
duration | number |
Duration of the scroll animation in milliseconds. Defaults to300 .OPTIONAL |
Returns:
Promise
返回在滚动完成时解决的承诺。
scrollToBottom(duration)
滚动到内容组件的底部。
Param | Type | Details |
---|---|---|
duration | number |
Duration of the scroll animation in milliseconds. Defaults to300 .OPTIONAL |
Returns:
Promise
返回在滚动完成时解决的承诺。
scrollToTop(duration)
滚动到内容组件的顶部。
Param | Type | Details |
---|---|---|
duration | number |
Duration of the scroll animation in milliseconds. Defaults to300 .OPTIONAL |
Returns:
Promise
返回在滚动完成时解决的承诺。
scrollTop
内容顶部距离最上方的可见内容。
Returns:
number
scrollWidth
内容宽度包括由于溢出而不可见的内容。 只读。
Returns:
number
输入属性
Attr | Type | Details |
---|---|---|
fullscreen | boolean |
If true, the content will scroll behind the headers and footers. This effect can easily be seen by setting the toolbar to transparent. |
scrollDownOnLoad | boolean |
If true, the content will scroll down on load. |
输出事件
Attr | Details |
---|---|
ionScroll | Emitted on every scroll event. |
ionScrollEnd | Emitted when scrolling ends. |
ionScrollStart | Emitted when the scrolling first starts. |
高级
调整内容大小 如果 ion-header,ion-footer 或 ion-tabbar 的高度动态变化,则必须调用content.resize()才能更新Content的布局。
@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();
}
}
滚动到特定位置
import { Component, ViewChild } from '@angular/core';
import { Content } from 'ionic-angular';
@Component({
template: `<ion-content>
<button ion-button (click)="scrollTo()">Down 500px</button>
</ion-content>`
)}
export class MyPage{
@ViewChild(Content) content: Content;
scrollTo() {
// set the scrollLeft to 0px, and scrollTop to 500px
// the scroll duration should take 200ms
this.content.scrollTo(0, 500, 200);
}
}
Sass 变量
iOS
Property | Default | Description |
---|---|---|
$content-ios-outer-background |
#efeff4 |
Background color of the outer content |
$content-ios-transition-background |
#000 |
Background color of the content when making transition |