AngularJS中ng-model表达式的含义

3
我需要在ng-model中执行一个表达式。
我有一个整数数组,显示为列表,每次点击项目时需要生成输入字段。所有输入字段都应携带以1为基数生成的比率值。我还需要获取输入字段中数字的总和,因为用户可以更改该值。

With 3 items selected and divided ratio

With 4 items selected and divided ratio

我的代码是

<div class="row" ng-repeat="kpi in SelectedKpiModel">
    <div class="small-2 columns" ng-click="View.RemoveSelectedKPI($index)" style="margin-top:0.5em;border:ridge;padding-bottom: 1em; padding-top:0.5em; text-align:center"><span class="fa fa-scissors"></span></div>
    <div class="small-4 columns" style="margin-top:0.5em;border:ridge;padding-bottom: 1em; padding-top:0.5em; text-align:center">
        {{kpi.id}}
    </div>
    <div class="small-4 columns" style="float:left;margin-top:0.5em;border:ridge; padding:0em">
        <input type="number" value="{{1/SelectedKpiModel.length}}" />
    </div>
</div>

如果用户更改了字段,我该如何获取所有字段值的计数?或者我该如何存储每个字段的值并在需要时检索它们?
我尝试了像ng-model="{{1/SelectedKpiModel.length}}"这样的方法,但是它给我报错。
谢谢。

能否展示给我们这个错误? 顺便一提,如果你的长度为0 => https://en.wikipedia.org/wiki/Division_by_zero - Steeve Pitis
我没有任何错误。我想要得到所有字段的总和。它可以有3个字段或5个字段,这取决于选择。你能帮我把所有输入字段的值相加吗? - Joseph
在控制器中编写一个方法,遍历字段,将其值相加并返回总和。然后在模板中使用它,例如:{{getSum()}} - Mihai Răducanu
@georgeawg:我只想求和所有字段的值,如果超过1,我将发出警报。 - Joseph
使用模型并没有帮助我。我的做法是 $scope.WeightedAverage = 0; $('#SelectedModelGrid input').each(function () { $scope.WeightedAverage += parseInt(this.value); }); - Joseph
显示剩余7条评论
1个回答

0
你可以使用类似这样的代码 -
<input type="number" ng-model="getLength()" />

还有你的函数 -

$scope.getLength = () => {
    return 1 / $scope.SelectedKpiModel;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接