Javascript 动态形状角度问题

Javascript 动态形状角度问题,javascript,angularjs,data-binding,angular-ngmodel,ng-bind,Javascript,Angularjs,Data Binding,Angular Ngmodel,Ng Bind,我已经在网上写了这段代码 总计和总计不是自动更新的。我以前有一个更简单的例子,它只处理一个模型项,但后来我制作了一个数组,现在它不工作了。我正在构建的真正的程序将有更多的字段,我正在尝试创建一个预示例来说明它将起作用。有人能很快看出我忘记了什么蠢事吗 <div ng-controller="MyCtrl"> <form name="myForm"> <div ng-repeat="item in items track by $index">

我已经在网上写了这段代码

总计和总计不是自动更新的。我以前有一个更简单的例子,它只处理一个模型项,但后来我制作了一个数组,现在它不工作了。我正在构建的真正的程序将有更多的字段,我正在尝试创建一个预示例来说明它将起作用。有人能很快看出我忘记了什么蠢事吗

<div ng-controller="MyCtrl">
    <form name="myForm">
      <div ng-repeat="item in items track by $index">
          <input type="text" ng-model="item.a">
          <input type="text" ng-model="item.b">
          <input type="text" ng-model="item.c">
          <label>Total: </label><label ng-bind="total(item)"></label>
      </div>
    </form>
    <div>
    <label>Grand Total: </label><label ng-bind="grandTotal()"></label>
    </div>
</div>

var myApp = angular.module('myApp', []);

myApp.controller('MyCtrl', function($scope) {
        $scope.items = [
      {
        a: 0, b: 0, c: 0
      },
      {
        a: 0, b: 0, c: 0
      }];

    $scope.total = function(item) { 
        var result = item.a * item.b * item.c;

      return isNaN(result) ? 0 : result;
    };

    $scope.grandTotal = function() { 
        var result = 0;

      angular.forEach($scope.items, function(item) {
        result += $scope.total(item);
      });

      return isNaN(result) ? "" : result.toString();
    };
});

总数:
总计:
var myApp=angular.module('myApp',[]);
myApp.controller('MyCtrl',函数($scope){
$scope.items=[
{
a:0,b:0,c:0
},
{
a:0,b:0,c:0
}];
$scope.total=函数(项){
var结果=项目a*项目b*项目c;
返回isNaN(结果)?0:结果;
};
$scope.grandTotal=函数(){
var结果=0;
angular.forEach($scope.items,function(item){
结果+=$scope.total(项目);
});
返回isNaN(结果)?“”:result.toString();
};
});

ng bind
应不包含
$scope
。您不需要在视图绑定中提到
$scope
,它直接指的是控制器的
$scope
/
这个
(上下文)

除此之外,还将所有输入的
ng bind
更改为
ng model
,以在所有输入字段上启用双向绑定

标记

<input type="text" ng-model="item.a">
<input type="text" ng-model="item.b">
<input type="text" ng-model="item.c">

ng-bind="total(item)"

ng bind=“总计(项目)”

ng bind
应不包含
$scope
。您不需要在视图绑定中提到
$scope
,它直接指的是控制器的
$scope
/
这个
(上下文)

除此之外,还将所有输入的
ng bind
更改为
ng model
,以在所有输入字段上启用双向绑定

标记

<input type="text" ng-model="item.a">
<input type="text" ng-model="item.b">
<input type="text" ng-model="item.c">

ng-bind="total(item)"

ng bind=“总计(项目)”
使用

<input type="text" ng-model="item.a">

而不是

<input type="text" ng-bind="item.a">

更新了小提琴的使用

<input type="text" ng-model="item.a">

而不是

<input type="text" ng-bind="item.a">


更新的fiddle

捕捉良好,但即使删除了
$scope
,我也看不到它显示总数。对于他的
,她应该将
ng绑定
更改为
ng模型
。把这个加到你的答案上。我更新了小提琴。它仍然不起作用。它在开始时调用我的total函数,但在我开始键入值后就再也不会调用了。扎克请写出答案,我会将其标记为答案。@扎克也谢谢你的提醒。回答完之后,我忙着做别的事情。然后我编辑了评论和锯小提琴。此后,我意识到
ng bind
input
字段中存在。。再次感谢:)很好的捕获,但是即使删除了
$scope
,我也没有看到它显示总数。她应该为他的
ng绑定更改为
ng model
。把这个加到你的答案上。我更新了小提琴。它仍然不起作用。它在开始时调用我的total函数,但在我开始键入值后就再也不会调用了。扎克请写出答案,我会将其标记为答案。@扎克也谢谢你的提醒。回答完之后,我忙着做别的事情。然后我编辑了评论和锯小提琴。此后,我意识到
ng bind
input
字段中存在。。再次感谢:)