mirror of
https://github.com/ionic-team/ionic-framework.git
synced 2025-08-22 13:32:54 +08:00
fix(img): ensure scroll has been initialized
This commit is contained in:
@ -777,7 +777,7 @@ export class Content extends Ion implements OnDestroy, OnInit {
|
||||
* @private
|
||||
*/
|
||||
imgsUpdate() {
|
||||
if (this._imgs.length && this.isImgsUpdatable()) {
|
||||
if (this._scroll.initialized && this._imgs.length && this.isImgsUpdatable()) {
|
||||
updateImgs(this._imgs, this.scrollTop, this.scrollHeight, this.directionY, IMG_REQUESTABLE_BUFFER, IMG_RENDERABLE_BUFFER);
|
||||
}
|
||||
}
|
||||
|
@ -187,7 +187,7 @@ export class Tab2 {
|
||||
<button ion-button (click)="appNavPop()">App Nav Pop</button>
|
||||
</p>
|
||||
|
||||
<ion-list [virtualScroll]="items" [headerFn]="headerFn">
|
||||
<ion-list [virtualScroll]="items">
|
||||
|
||||
<ion-item *virtualItem="let item">
|
||||
Item: {{item}}
|
||||
|
@ -8,15 +8,15 @@
|
||||
|
||||
<div [virtualScroll]="items" approxItemHeight="320px">
|
||||
|
||||
<ion-card *virtualItem="let item">
|
||||
<ion-card *virtualItem="let item; let itemBounds = bounds;">
|
||||
|
||||
<div>
|
||||
<ion-img [src]="item.imgSrc" [height]="item.imgHeight" [alt]="item.name"></ion-img>
|
||||
<ion-img [src]="item.imgSrc" [height]="item.imgHeight" [alt]="item.name" [bounds]="itemBounds"></ion-img>
|
||||
</div>
|
||||
|
||||
<ion-item>
|
||||
<ion-avatar item-left>
|
||||
<ion-img [src]="item.avatarSrc" height="40" width="40"></ion-img>
|
||||
<ion-img [src]="item.avatarSrc" height="40" width="40" [bounds]="itemBounds"></ion-img>
|
||||
</ion-avatar>
|
||||
<h2>{{ item.name }}</h2>
|
||||
</ion-item>
|
||||
|
@ -11,6 +11,7 @@ export class ScrollView {
|
||||
scrollStart = new Subject<ScrollEvent>();
|
||||
scroll = new Subject<ScrollEvent>();
|
||||
scrollEnd = new Subject<ScrollEvent>();
|
||||
initialized: boolean;
|
||||
|
||||
private _el: HTMLElement;
|
||||
private _js: boolean;
|
||||
@ -28,7 +29,9 @@ export class ScrollView {
|
||||
constructor(private _dom: DomController) {}
|
||||
|
||||
init(ele: HTMLElement, contentTop: number, contentBottom: number) {
|
||||
if (!this._el) {
|
||||
if (!this.initialized) {
|
||||
this.initialized = true;
|
||||
|
||||
assert(ele, 'scroll-view, element can not be null');
|
||||
this._el = ele;
|
||||
|
||||
|
Reference in New Issue
Block a user