javascript - 无法读取未定义的属性 'scrollToBottom'”

标签 javascript angular ionic-framework ionic2 ionic3

我收到此错误“无法读取未定义的属性“scrollToBottom””,并且在任何地方都没有解决此问题的方法,因此这篇文章:

这是我的用例: 我有一个自定义 Accordion 列表,单击其中一个列表(因为它将包含一些内容)时,我希望用户不要滚动到底部,因此使用该属性。我只粘贴了相关代码

这是我的.ts

import { Component, ViewChild } from '@angular/core';
import { NavController,Platform, Navbar, Content} from 'ionic-angular';
import { ToastController } from 'ionic-angular';
import { NativeStorage } from '@ionic-native/native-storage';
@Component({
selector: 'page-profile',
templateUrl: 'profile.html'
})
export class ProfilePage {  
@ViewChild('content') content: any;  
constructor(public navCtrl: NavController, private nativeStorage : NativeStorage, private toastCtrl : ToastController, platform : Platform  ) { 
// other methods 
}
 ionViewDidLoad()
  {
    this.IonAccordion()
  }

IonAccordion(){
    this.accElement = document.getElementsByClassName('ion-accordion-header');
    var i;
     for (i = 0; i < this.accElement.length; i++) {
      console.log(i)
      this.accElement[i].addEventListener("click", function() 
      {
        this.classList.toggle("active");
        console.log("click");
        var panel = this.nextElementSibling;
        if (panel.style.maxHeight){
          console.log(panel.style.maxHeight);
          panel.style.maxHeight = null;
        } else { 
          panel.style.maxHeight = panel.scrollHeight + "px";
          this.content.scrollToBottom(300);
        } 
      });
    }
  }
}

这是我的 .html 文件,

<ion-content #content>
<ion-row>
    <ion-col>
    <div class="ion-accordion-header">Accordion 1 </div>
    <div class="panel">
       <p>Accordion content</p>
    </div>
    </ion-col>
    </ion-row>
<ion-row>
    <ion-col>
    <div class="ion-accordion-header">Accordion 2 </div>
    <div class="panel">
       <p>Accordion content</p>
    </div>
    </ion-col>
    </ion-row>
</ion-content>

版本信息

cli packages: (F:\classette\node_modules)

@ionic/cli-plugin-cordova       : 1.6.2
@ionic/cli-plugin-ionic-angular : 1.4.1
@ionic/cli-utils                : 1.7.0
ionic (Ionic CLI)               : 3.7.0

global packages:

Cordova CLI : 7.0.1

local packages:

@ionic/app-scripts : 1.3.7
Cordova Platforms  : android 6.2.3
Ionic Framework    : ionic-angular 3.3.0

System:

Node : v6.10.2
OS   : Windows 10
npm  : 3.10.10

最佳答案

类似的问题和我的解决方案。 Ionic 4 和 Angular 8。

// header
import { ViewChild } from '@angular/core';
import { IonContent } from '@ionic/angular';

//elements
@ViewChild(IonContent, {static: true}) content: IonContent;

//functions
this.content.scrollToTop(500);
this.content.scrollToBottom(500);

关于javascript - 无法读取未定义的属性 'scrollToBottom'”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48886157/

相关文章:

javascript - JQuery如何将表格单元格添加到表格行

javascript - 如何在完成两个 Angular 2 订阅后调用一个函数?

angular - JHipster 自定义错误消息翻译

javascript - 将 Angular 组件输入参数传递给 CSS 的子 div

javascript - 如何识别字符串中的某些单词并返回结果? (AngularJS)

javascript - PhoneGap HTML 慢速动画

javascript - 使用 setTimeout 时将值传递给 javascript 中的函数

Javascript 对象和传递成员函数作为参数

html - Angular Material 动画 - matRipple : escapes bounds of a div element

html - 显示两个元素,每个元素占据屏幕高度的 50%