我是Angular的新手,很有可能我的问题的答案将是"这不是它在角度方面的表现"。
我有一个模板扩展指令,它提供了一个清单:
[ ] mushrooms
[ ] peppers
[ ] onions
[ ] artichokes
[ ] anchovies
清单的dataSource是一个对象数组。底层对象的一个属性是" bits":
mushrooms bits:2,
peppers bits: 4,
onions bits: 8,
artichokes bits: 16,
anchovies: 32.
有人用蘑菇和凤尾鱼订购比萨饼的人会有点总数:34。
checklist指令是否有办法封装$ scope可以访问的TotalBits()
方法?是否有"手柄"到$ scope中的实例化清单对象?
答案 0 :(得分:0)
你总是可以将一个回调方法传递给指令(作为一个属性),一旦它具有计算的位数,它就会被指令调用。
答案 1 :(得分:0)
您可以扩展模块以实现此功能。见这个例子:
var menu = [{
name: 'mushrooms',
bits: 2,
selected: false
}, {
name: 'pepers',
bits: 4,
selected: false
}];
menu.totalBits = function () {
var total = 0;
this.forEach(function (item) {
if (item.selected) total = total + item.bits;
});
return total;
};
由于JS具有可塑性,我们可以将totalBits函数添加到模型数组中,就是这样。
我也为它创造了一个小提琴http://jsfiddle.net/s8n5y2kg/