Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取行Angularjs的总数_Javascript_Angularjs - Fatal编程技术网

Javascript 获取行Angularjs的总数

Javascript 获取行Angularjs的总数,javascript,angularjs,Javascript,Angularjs,嗨,我有一个简单的行,我试图显示的总数。 在我的html中,我有 <tr ng-repeat="item in items"> <td>{{item.name}}</td> <td ng-init="iTotal= iTotal + item.price">{{item.price}}</td> </tr> <tr> <td><

嗨,我有一个简单的行,我试图显示的总数。 在我的html中,我有

 <tr ng-repeat="item in items">
        <td>{{item.name}}</td>
        <td ng-init="iTotal= iTotal + item.price">{{item.price}}</td>
    </tr>

    <tr>
        <td></td>
        <td>Total :</td>
        <td>Total:{{iTotal}}</td>
    </tr>
这基本上不会给我一个空白,因为iTotal没有错误。
请让我知道如何修复它以获得结果。如果您使用的是视图模型注释,请感谢:

var vm=this;
vm.Itotal=0;
然后您应该像这样访问
vm.Itotal

<td ng-init="controller.Itotal = controller.Itotal + item.price">{{item.price}}</td>
{{item.price}

请注意在视图中使用
iTotal
,在控制器中使用
iTotal
(I大写)

JSFiddle解释相同的内容:(不是我创建的,是从JSFiddle复制的)


您可以尝试以下简单方法:

HTML:

   <table>
 <tr ng-repeat="item in items">
        <td>{{item.name}}</td>
        <td >{{item.price}}</td>
    </tr>
    <tr>
        <td></td>
        <td>Total:{{iTotal}}</td>
    </tr>
    </table>
   $scope.items=[{
       "id": 1,
       "price": 12,
   },
   {
       "id": 1,
       "price": 1,
    }];
    $scope.iTotal=0;
    $scope.items.forEach(function(i){
        $scope.iTotal= $scope.iTotal + i.price;
    })

您在页面中获得item.price了吗?items是控制器中的一个数组,为什么您不能在控制器中执行该操作,将结果分配给一个范围变量并显示它?是的,我获得了item.price。我得到了所有正确的值只是iTotal没有显示任何东西正如我之前提到的,正确的方法是在控制器中执行操作,然后显示。请创建一个小提琴。
   <table>
 <tr ng-repeat="item in items">
        <td>{{item.name}}</td>
        <td >{{item.price}}</td>
    </tr>
    <tr>
        <td></td>
        <td>Total:{{iTotal}}</td>
    </tr>
    </table>
   $scope.items=[{
       "id": 1,
       "price": 12,
   },
   {
       "id": 1,
       "price": 1,
    }];
    $scope.iTotal=0;
    $scope.items.forEach(function(i){
        $scope.iTotal= $scope.iTotal + i.price;
    })