質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Onsen UI

HTML5で記述されたモバイルアプリの高速化、およびネイティブアプリライクなUIが作れるフレームワーク。 様々なJavaScriptフレームワークと併せて使用することができます。スマートフォン向けアプリ、Webサイトに必要なアニメーション、UI/UXを実装することが可能になります。

Q&A

0回答

2158閲覧

【Angular2 and OnsenUI2】チャット画面表示時に最下部に自動でスクロールさせたい

KoheiOkazaki

総合スコア43

Onsen UI

HTML5で記述されたモバイルアプリの高速化、およびネイティブアプリライクなUIが作れるフレームワーク。 様々なJavaScriptフレームワークと併せて使用することができます。スマートフォン向けアプリ、Webサイトに必要なアニメーション、UI/UXを実装することが可能になります。

0グッド

0クリップ

投稿2016/12/04 17:05

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; }

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問