Angular2とonsenUI2を使ってチャット機能を実装中です。
大方実装は完了しているのですが、ページを表示されたタイミングでscrollさせたいと考えています。
いろいろ調べてみたところ、
こういった記事があったので、それを元に実装してみたのですがうまくいきません・・・。
コンポーネント
// Chat component @Component({ selector: 'ons-page', template: ` <ons-toolbar> <div class="left"><ons-back-button>キャンセル</ons-back-button></div> <div class="center">チャット</div> </ons-toolbar> <div id="chat" #scrollMe> <ul> <li *ngFor="let chat of chats | async"> <div *ngIf="chat.userKey == userId" class="chatContent me"> <div class="imageZone"> <img [src]="userImg"> </div> <div class="contentZone"> <p class="nameAndDate"> {{ chat.nickName }} <span class="date"> {{ chat.createdAt }} </span></p> <p class="content"> {{ chat.content }} </p> </div> <div class="clear"></div> </div> <div *ngIf="chat.userKey != userId" class="chatContent"> <p class="nameAndDate"> {{ chat.nickName }} <span class="date"> {{ chat.createdAt }} </span></p> <p class="content"> {{ chat.content }} </p> </div> </li> </ul> </div> <ons-bottom-toolbar class="chatComment"> <form id="chatForm" #chatForm="ngForm" (ngSubmit)="submitChatInfo(chatForm.value)" novalidate> <input type="text" name="content" [(ngModel)]="messe" ngDefaultControl> <button type="submit" form="chatForm" class="normal btn" width="100%">次へ</button> </form> </ons-bottom-toolbar> `, styles: [require('./css/template.css')] })
クラス
import { Component, OnsenModule, NgModule, ViewChild, CUSTOM_ELEMENTS_SCHEMA, OnInit, OnDestroy, ElementRef, AfterViewChecked } from 'angular2-onsenui'; export class ChatComponent{ @ViewChild('scrollMe') private myScrollContainer: ElementRef; }
記事ではclassにimplementsさせていますが、エラーが出るためはしょってます(これが原因なのかも)ただ、ngOnInit自体は動いてるので問題ないかなと。。。
ngOnInit
ngOnInit(){ console.log("init"); this.myScrollContainer.nativeElement.scrollTop = this.myScrollContainer.nativeElement.scrollHeight; }
よろしくお願いします。
あなたの回答
tips
プレビュー