やりたいこと
昨日からVue.jsの勉強を始めました。
テキストを読んで実際に作ってみようと思い、
体重と身長とを入力したらBMI値を表示するJavascript(Vue.js)で記述したいのですが、
なかなか思うようにできません。下記のコードでは、weightとheightに数値を入力してもクリアされてしまうだけで、bmiの計算もしてくれません。
どこが間違っているのかご指摘ください。
環境
- Windows10
- Vue.js(v2.5.16)
コード
javascript
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="utf-8"> 5 <title>BMI calculator</title> 6 <script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script> 7 <style> 8 div#app {background-color:YELLOW;} 9 </style> 10</head> 11<body> 12 13<div id="app"> 14 <h2>BMI Calculator</h2> 15 <form v-on:submit.prevent> 16 <span style="display:block; line-height:2em;"> 17 <label for="weight">weight</label> 18 <input type="number" name="weight" v-model="weight"> 19 <span>kg</span> 20 </span> 21 22 <span style="display:block; line-height:2em"> 23 <label for="height">height</label> 24 <input type="number" name="height" v-model="height"> 25 <span>cm</span> 26 </span> 27 28 <span style="display:block; line-height:2em;"> 29 <button v-on:click="calcBMI">CALC</button> 30 </span> 31 32 <span style="display:block; line-height:2em"> 33 <span>{{ params.bmi }}</span> 34 </span> 35 36 </form> 37 <pre>{{ $data }}</pre> 38</div> 39 40<script> 41 let app = new Vue({ 42 el: "#app", 43 data: { 44 message: "Hello Vue.js!", 45 weight: "", 46 height: "", 47 }, 48 methods: { 49 calcBMI: function(event){ 50 if (this.weight == "" && this.height =="") 51 alert("You should input data") 52 return 53 let params:{ 54 bmi = weight / ((height * 0.01) * (height * 0.01)) 55 } 56 } 57 } 58 59 }) 60</script> 61</body> 62</html>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/30 06:40
2021/05/30 06:49
2021/05/30 07:44 編集