javascript - ANGULAR 中的增量数不起作用

标签 javascript angularjs html increment angularjs-ng-click

我正在做一个应用程序,当您单击输入时,会显示一个虚拟键盘。递减应该是递减 ng-model food.Pezzi,并且它工作正常。但增量不起作用:它添加了一个“1”。为什么? PLUNKER CODE

(奇怪的是,你在按增量之前按了减量,增量起作用了......)

标记

<td>
    <a data-role="button" data-theme="e" ng-click="food.Pezzi = food.Pezzi-1; " 
      style="background-color: rgba(246, 246, 246, 0.2); border-color: rgba(0, 0, 0, 0.27); text-shadow: 0px 1px 0px #F3F3F3;color: #333;">
         Decrement
  </a>
</td>
<td>
    <a data-role="button" data-theme="b" class="zero" ng-click='food.Pezzi=food.Pezzi.toString()+"0"'>
        0
    </a>
</td>
<td>
    <a data-role="button" data-theme="e" class="pos" ng-click='food.Pezzi = food.Pezzi + 1' 
      style="background-color: rgba(246, 246, 246, 0.2); border-color: rgba(0, 0, 0, 0.27); text-shadow: 0px 1px 0px #F3F3F3;color: #333;">
        Increment
      </a>
</td>

谢谢您的建议

最佳答案

将代码更改为 var itemToClone = { "Selection": "", "Pezzi": 0 }; 而不是 var itemToClone = { "Selection": "", "Pezzi “:”“};。您正在使用空字符串进行初始化,并将其附加到字符串而不是添加数字。

其他地方也是如此。修改输入后,您必须使用 parseInt 对字符串进行类型转换。

更新

这很奇怪。让我们在 Controller 中添加一个方法,如下所示:

$scope.inc = function(food) {
    food.Pezzi = food.Pezzi || "0"
    food.Pezzi = parseInt(food.Pezzi.toString()) + 1;
};

现在,将增量按钮的 ng-click 修改为如下所示:ng-click="inc(food)"

关于javascript - ANGULAR 中的增量数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33434084/

相关文章:

javascript - 确定鼠标在窗口焦点事件上的位置

javascript - Angular 排序日期排序不正确

java - 如何在 HTML 表单中设置日期字段以及如何在 servlet 中检索日期?

javascript - 当浏览器移动到不同页面时显示加载图形

javascript - 如何制作搜索属性值然后根据用户输入隐藏或显示元素的搜索框?

javascript - html 美化 json 忽略新行字符

javascript - 在 ng-repeat 中绑定(bind) ngmodel 的正确方法

javascript - Angular 多重嵌套 Controller

html - 在不执行 GET 的情况下检查重复内容

html - Bootstrap 3 中带有居中 DIV 的 .center-block