12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- import { Component, OnInit } from '@angular/core';
- import { Router } from '@angular/router';
- import { AlertController, IonButton, IonButtons, IonContent, IonHeader, IonIcon, IonInput, IonItem, IonLabel, IonTitle, IonToolbar } from '@ionic/angular/standalone';
- import { FormsModule } from '@angular/forms'; // 导入 FormsModule
- import { CommonModule } from '@angular/common'; // 导入 CommonModule
- import { chevronBackOutline } from 'ionicons/icons';
- import { addIcons } from 'ionicons';
- addIcons({chevronBackOutline});
- @Component({
- selector: 'app-page-bmi',
- templateUrl: './page-bmi.component.html',
- styleUrls: ['./page-bmi.component.scss'],
- standalone: true,
- imports:[IonHeader,IonToolbar,IonTitle,IonButton,IonButtons,IonContent,IonItem,IonLabel,IonInput,FormsModule,CommonModule,IonIcon]
- })
- export class PageBmiComponent implements OnInit {
- ngOnInit() {this.resetForm();} // 页面加载时清空数据
- height: number|null =null; // 身高
- weight: number|null =null; // 体重
- bmi: number|null=null; // BMI 值
- constructor(private router: Router,private alertController: AlertController) {this.resetForm();}
- // 计算 BMI
- async calculateBMI() {
- if (this.height !=null && this.weight !=null) {
- if(this.height >0 && this.weight >0) {
- const heightInMeters = this.height / 100; // 将身高转换为米
- this.bmi = this.weight / (heightInMeters * heightInMeters); // 计算 BMI
- } else {
- const alert = await this.alertController.create({
- header: '身高体重不能为0!',
- buttons: ['确定']
- });
- await alert.present(); // 显示弹出框
- }
- } else {
- const alert = await this.alertController.create({
- header: '身高体重不能为空!',
- buttons: ['确定']
- });
- await alert.present(); // 显示弹出框
-
- }
- }
- //清空数据
- // 清空输入数据
- resetForm() {
- this.height = null;
- this.weight = null;
- this.bmi = null;
- }
- // 返回上一个页面
- goBack() {
- this.router.navigate(['/tabs/tab3'], { replaceUrl: true }); // 使用 replaceUrl 强制重载页面
- }
- }
|