我有一个像这样的控制器的div
<div ng-controller= "merchandiseListCtrl as ml">
在js文件中,我有几个函数调用并在返回时呈现一个对象。
vm.getlaptopTotal = (productCatergory) => getTotal(productCatergory);
var getTotal = function (_) {
var res = {
count: 0,
total: 0,
products: []
};
_.map((item) =>{
if(item.purchased){
res.count += 1;
res.total += item.price;
res.products.push(item.product);
}
});
return res;
};
因此,显而易见的是,我返回了具有属性的obj res:count,total和products。
在HTML视图模板中,我想要更短的命名空间,快捷方式来减少我的函数调用的模式ml.fn(x).products
以返回属性&#39;某些字段的值。换句话说,我想分配ng-bind ='myTotal = ml.fn(x)'
之类的东西,但后来我遇到了大量关于$rootScope
的错误。我应该怎样做才能为这种情况提供更好的命名空间,而复杂性可能会走到这一步:funcObj.subobj.property.childproperty.grandchildproperty
?那么可以实现可访问性和可读性吗?
这是我的HTML代码
<div>{{ml.myTotal = ml.getlaptopTotal(ml.laptops)}}>
<!-- display the selection -->
Laptop count: {{ ml.myTotal.count }} units
<br>
<div ng-if="ml.myTotal.products">
<ul ng-repeat="product in ml.myTotal.products">
<li>{{$index+1}}) {{product}}</li>
</ul>
</div>
<br>
</div>
编辑1:进入this error因为现在产品数组funcObj()。产品是动态的。不知道如何修复。但之前,我使用funcObj()作为ng-click事件处理程序。
谢谢,