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> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 按钮:禁用按
- angularjs – Angular HttpPromise:`success` /`error`方法
- WebService简介
- angular学习(六)—— 依赖注入
- bash – 使用SED或AWK获取RHEL版本的单个数字整数
- twitter-bootstrap – Bootstrap 3 Horizo??ntal Divider(不
- 【shell】Linux shell 之 判断用户输入的变量是否为数字
- bash – shell脚本的美元括号内的减号是什么意思?
- AngularJS:未知提供者:$$cookieReaderProvider < - $$coo
- bootstrap 学习之路 8
- 在Angular 2中的rxjs中使用switchMap运算符时,我
- 使用@Input测试Angular 2组件
- Asynchronous Communication with .NET WebServi
- twitter-bootstrap-3 – bootstrap 3.3.2:缺少新
- bash – 如何在交互式shell脚本中使“echo”ed行
- angularjs – 角度过滤器工作,但导致“10 $diges
- CXF动态客户端调用webservice实例
- 使用axis2调用webservice需要导入的依赖
- dependency-injection – Angular 2 – 将依赖项
- 在Vim中,为什么:随意腐蚀我的褶皱?