angularjs – 新到角度 – 计算变量

前端之家收集整理的这篇文章主要介绍了angularjs – 新到角度 – 计算变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我从Knockout转到Angular,我有几个问题。我假设我必须做一些非角度的方式。

http://jsfiddle.net/LostInDaJungle/BxELP/

I linked to jsfiddle so I didn't have to include my code here
Stack Overflow will not let me post my question without a code block.

这是一个非常基本的小提琴,概述了我的两个主要问题…

问题1:val1和val2被初始化为3和4,最多加7。但是,如果您更改文本框中的任何一个值,则新值将被视为一个字符串,并且我得到并置而不是加法。将val1更改为4,当您应该为8时,您将获得44。对于这种行为,最好的方法是什么?

问题2:计算的字段。我可以通过使用{{val1 val2}}之类的大括号获得计算字段,并且当底层模型更改时,计算的字段将自动更新,但这是完全不可接受的。在我完整的应用程序中,我们产生了一个“成本”,整个使用了几次,并且每次都花费了一笔费用。更不要说,当这个计算变化时,我现在有了不寻常的任务,找到15个不同的地方,使用成本计算和更新它们。

另外,如果我尝试使用大括号将输入上的ng-model =“cost”,那么大括号就不起作用了。所以没有什么跳出来,作为一种绑定成本的方式。

http://jsfiddle.net/LostInDaJungle/QNVwe/

这个例子更像是我想要的结构。但是,与ko.observable不同,当生成它们的值发生变化时,计算的字段不会更新。每个人都强加给我的样板解决方案是编写一堆ng-change处理程序…但这是可怕的。如果宽度变化改变成本并改变投资回报计算等…它很快就变得混乱了。

这两种方法都不能将逻辑与表示分离。方法一,我的业务逻辑嵌入我的HTML。方法二在我的代码中放置了一大堆ng变更处理程序,这与在纯文本HTML中编写一整个onChange处理程序没有什么不同。如果我需要做一些ng更改处理程序,我将尽快在Javascript中使用一个onChange处理程序,因为我至少可以在我的表示层之外声明它。

这是一个相同的淘汰版本:

http://jsfiddle.net/LostInDaJungle/eka4S/2/

这更像是我所期待的…没有什么,但数据绑定在我的输入,所有的程序逻辑很好地包含在视图模型中。另外,由于我的可计算是一个Javascript函数,我不必刮目相看如何确保我的两个值是数字。

所以….

计算变量:有没有办法观察底层变量并自动更新计算量?无需将程序逻辑嵌入到我的HTML中?

有没有一个很好的方式来保持我的数字变成字符串?

感谢您的帮助。

FYI,也发布到Google网上论坛:https://groups.google.com/forum/#!topic/angular/0dfnDTaj8tw

对于计算字段,向控制器添加一个方法。 。 。
$scope.cost = function() { return $scope.val1 + $scope.val2 };

然后直接绑定到它。当它的成分值变化时,它将知道何时需要重新计算。

<div>{{cost()}}</div>

猜你在找的Angularjs相关文章