Vue JS - 计算器 - 将输出字符串读取为值

时间:2017-07-21 12:40:16

标签: javascript html math vue.js vuejs2

我正在构建一个计算器来测试我的Vue JS技能。我有基本工作或至少设置,但是如果我输入多个数字(例如34),我就无法读取所有数字(例如34)作为整体价值;相反,它增加了3和4。我遇到问题的片段在这里:

press: function(num) {
  if(this.currentNum == 0) 
    {
      this.currentNum = num;
      this.output = num.toString();
    }
  else {
      this.output += num.toString();
      this.currentNum = this.output.parseInt();
    }
},

以下是CodePen上关于更好背景的全部内容 - https://codepen.io/ajm90UK/pen/BZgZvV

我认为这更像是一个JS问题,而不是Vue特有的东西,但即使是字符串上的parseInt(),我也没有运气。关于如何阅读显示器(输出)的任何建议都将不胜感激,我已经在这几个小时了!

1 个答案:

答案 0 :(得分:0)

parseInt()不是String prototype的方法,而是内置函数。

更新此行:

this.currentNum = this.output.parseInt();

到此:

this.currentNum = parseInt(this.output);

最好在第二个参数中指定基数 - 对于十进制数,在大多数情况下可能为10:

this.currentNum = parseInt(this.output, 10);

这样,如果输入类似022的值,则不会将其解释为八进制值(即,十进制数18)。