【发布时间】:2015-06-05 14:01:14
【问题描述】:
我正在尝试计算用户输入的 2 个值,并将该结果设置为另一个值的 ng-model。但是我似乎无法让这段代码工作。
<input type="number" ng-model="a">
<input type="number" ng-model="b">
<input type="number" ng-init="c = a * b" ng-model="c">
我也尝试过使用 parseFloat:
//in controller
$scope.parseFloat = parseFloat();
<input type="number" ng-init="c = (parseFloat(a) * parseFloat(b))" ng-model="c">
我可以将我想要的结果作为标签 {{a * b | number:2 | currency}},但不能作为 ng-model。有什么想法吗?
【问题讨论】:
-
ng-init 只能与 ng-repeat 指令一起使用。您应该使用 c 作为 ng-model 并更新 on-change 事件的值
-
@fantarama 准确地说,ng-init 可以在任何地方使用,但适当的用法是为 ng-repeat 的特殊属性起别名。
-
@PSL 我同意,但由于文档强烈反对在 ng-repeat 范围之外使用,我不认为将其用于其他目的的有效解决方案
-
@fantarama 是的...我同意 101%,事实上我在链接的答案中也详细提到了它。我只在你说
can be used only时发表了评论。 :)
标签: angularjs angular-ngmodel parseint parsefloat angularjs-ng-init