「Vue.js&Nuxt.js超入門」という書籍を用いてVue.js を学習しています。
計算機を作るカリキュラムがあるのですが、eval() を用いると "eval can be harmful" と表記され、うまくいきませんでした。コードは以下のようにしています。
calc.vue
1export default { 2 name: 'Calc', 3 props: { 4 title: String, 5 }, 6 data:function(){ 7 return { 8 message: 'Enter expression', 9 fomula:'0', 10 }; 11 }, 12 methods:{ 13 doAction: function() { 14 var arr = this.fomula.trim().split('¥n'); 15 var last = arr.pop(); 16 var fn =""; 17 for(var n in arr){ 18 if (arr[n].trim() != '') { 19 fn += 'var ' + arr[n] + ';'; 20 } 21 } 22 fn += 'return' + last + ';'; 23 var exp = 'function f(){' + fn + '} f();'; 24 var ans = eval(exp); 25 this.message = 'answer: ' + ans; 26 var re = arr.join(';').trim(); 27 if (re != '') { re += ';'} 28 re += last; 29 this.$emit('result-event', re, ans); 30 } 31 } 32}
何卒よろしくお願いいたします。
作成用のエディターには何をお使いですか?
「うまくいきませんでした」とは、どういう状態になったのでしょうか。
ありがとうございます。
cloud9 を使用しています。
サーバを起動した際に、計算機の画面は表示されるのですが、ボタンを押しても計算できません。
うまくいけば数式と答えが表示されるはずなのですが、、
https://gyazo.com/9514899f7cf99bd33693c33c6071d0ed
テキストエリアに「1 + 3」といった数式を入力して、CALCボタンを押すのでは?
上記画像では、「1 + 3=4」まで入力していませんか?
あなたの回答
tips
プレビュー