我正在使用AngularJS并尝试在输入文本中格式化float,如下所示。
<input ng-model="txn.price | number:3" name="price" ng-pattern="/^\d+([,.]\d+)?$/" md-maxlength="30" required ng-change="calcUnits()">
但是我得到了以下错误。
Error: ngModel:nonassign
Non-Assignable Expression
Expression 'txn.price' is non-assignable. Element: {1}
答案 0 :(得分:1)
它是不可分配的,因为您通过过滤器运行模型。这意味着无法设置数据,因为您正在建模返回值而不是原始项。您需要将模型更改为ng-model =“txn.price”
或者,您可能希望在控制器功能中使用$filter('number')(txn.price, 3)
。
$filter('number')(number, fractionSize)