Javascript 在ng repeat内的表达式中调用的Angularjs函数未被调用?

Javascript 在ng repeat内的表达式中调用的Angularjs函数未被调用?,javascript,angularjs,angularjs-ng-repeat,Javascript,Angularjs,Angularjs Ng Repeat,我是angularJS的新手,我正在尝试一个例子来涵盖基本概念。 这是一个simpel购物车示例。。。我试图在ratings表达式中调用一个函数,该函数返回提交的所有评级的平均值。但是函数没有被调用。那么为什么函数没有被调用&这是实现这种功能的正确方法吗 产品名称 价格 购买 销售总额 评级 {{product.name} {{产品.价格|货币} {{product.totalselled} {{product.getRating(product)} 您调用控制器函数的方式不正确。应该是 &

我是angularJS的新手,我正在尝试一个例子来涵盖基本概念。 这是一个simpel购物车示例。。。我试图在ratings表达式中调用一个函数,该函数返回提交的所有评级的平均值。但是函数没有被调用。那么为什么函数没有被调用&这是实现这种功能的正确方法吗


产品名称
价格
购买
销售总额
评级
{{product.name}
{{产品.价格|货币}
{{product.totalselled}
{{product.getRating(product)}

您调用控制器函数的方式不正确。应该是

<td>{{getRating(product)}}</td>
{{getRating(产品)}
反而

<td>{{product.getRating(product)}}</td>
{{product.getRating(product)}
另外,您正在将参数传递给控制器函数,而不是在函数中声明参数。你的功能应该是

$scope.getRating=function(product){

   var _rating=0;
   for(var i=0;i<product.ratings.length;i++)
        _rating+=product.ratings[i];

        return _rating || "Not Rated";
};
$scope.getRating=功能(产品){
var_评级=0;

对于(var i=0;i您调用控制器函数的方式不正确。它应该是

<td>{{getRating(product)}}</td>
{{getRating(产品)}
反而

<td>{{product.getRating(product)}}</td>
{{product.getRating(product)}
另外,您正在将参数传递给控制器函数,并且没有在函数中声明参数

$scope.getRating=function(product){

   var _rating=0;
   for(var i=0;i<product.ratings.length;i++)
        _rating+=product.ratings[i];

        return _rating || "Not Rated";
};
$scope.getRating=功能(产品){
var_评级=0;
对于(var i=0;i您必须使用

  for(var i=0;i<$scope.products.ratings.length;i++)
                _rating+=$scope.products.ratings[i];

你必须使用

  for(var i=0;i<$scope.products.ratings.length;i++)
                _rating+=$scope.products.ratings[i];

改变

{{product.getRating(product)}}

{{getRating(product)}}

更改

{{product.getRating(product)}}


{{getRating(产品)}

$scope.products=productsObj;,在对productsObj进行更改后按需使用此选项,这样您就不需要管理HTML$scope中的任何函数。products=productsObj;,在对productsObj进行更改后按需使用此选项,这样您就不需要管理来自HTMLsince的任何函数,因为我正在将产品作为参数传递nt没有必要通过$scope引用它…相反,我可以直接使用product.ratings.lenght…..无论如何,函数调用是mybad的,谢谢….@user1386579Hi@Ein2012您使用了product而不是products,因此我想明确说明,我将产品作为参数传递,没有必要通过$scope引用它…我nstead我可以直接使用product.ratings.lenght…..无论如何,函数调用是我的错,谢谢….@user1386579Hi@Ein2012您使用的是产品而不是产品,所以我想明确说明这一点