@챈챈/#WebApp
[WebApp] Ionic으로 웹앱 개발하기 - Button
자바장인
2020. 1. 14. 16:43
오늘은 Ionic Button에 대해 알아보겠습니다.
먼저 저는 Button이라는 제목의 새로운 프로젝트를 하나 만들었습니다.

ionic serve를 입력해서 실행해봅시다.

이제 버튼을 여러개 만들어보도록 하겠습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<ion-header>
<ion-navbar>
<ion-title>
Button
</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<p><button ion-button>Default</button></p>
<p><button ion-button color="light">Light</button></p>
<p><button ion-button color="secondary">Secondary</button></p>
<p><button ion-button color="danger">Danger</button></p>
<p><button ion-button color="dark">Dark</button></p>
</ion-content>
|
실행시킨 화면을 보면 이렇게 뜹니다. 버튼 색도 자유롭게 변경할 수 있고 css를 통해 버튼 모양도 바꿀 수 있습니다.

버튼을 클릭하면 화면 전환이 되도록 이벤트를 넣어보겠습니다.
새로운 화면을 하나 만들어줍니다.
1. ionic g page tabs(page name)
2. tabs.module.ts를 지우고, tabs.ts에서 @IonicPage() 라인 지우기.
3. app.module.ts에서 declarations와 entryComponents에서 새로운 페이지(TabsPage) 추가
그런 다음, 버튼이 있는 home.ts에 클릭 이벤트를 발생시킬 수 있는 함수를 만들어줍니다.

간단하게 이렇게 작성했습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { TabsPage } from '../tabs/tabs';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
constructor(public navCtrl: NavController) {
}
inputclick(){
console.log("success");
window.alert("화면전환 성공!");
this.navCtrl.push(TabsPage)
}
}
|
그럼 다시 home.html로 돌아가서 버튼에 이벤트를 발생시키겠습니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<ion-header>
<ion-navbar>
<ion-title>
Button
</ion-title>
</ion-navbar>
</ion-header>
<ion-content padding>
<p><button ion-button (click)="inputclick()">Default</button></p>
<p><button ion-button (click)="inputclick()" color="light">Light</button></p>
<p><button ion-button (click)="inputclick()" color="secondary">Secondary</button></p>
<p><button ion-button (click)="inputclick()" color="danger">Danger</button></p>
<p><button ion-button (click)="inputclick()" color="dark">Dark</button></p>
</ion-content>
|
(click)="함수이름()"을 버튼에 추가합니다.
실행시키면 화면 전환이 이루어지는 것을 확인할 수 있습니다.

스크립트에 썼던 alert 발생

tabs.html의 내용으로 전환됨을 확인할 수 있습니다.
버튼의 click이벤트를 통해 화면전환뿐만 아니라 여러 메소드 실행도 모두 가능합니다.