首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >angular指令可以提供公共方法吗

问angular指令可以提供公共方法吗
EN

Stack Overflow用户
提问于 2014-10-18 19:09:13
回答 2查看 75关注 0票数 0

我刚接触Angular,很有可能我的问题的答案是“这不是angular是怎么做的”。

我有一个模板扩展指令,它提供了一个检查表:

代码语言:javascript
复制
[ ] mushrooms
[ ] peppers
[ ] onions
[ ] artichokes
[ ] anchovies

清单的dataSource是一个对象数组。底层对象的属性之一是"bits":

代码语言:javascript
复制
mushrooms  bits:2, 
peppers bits: 4, 
onions bits: 8, 
artichokes bits: 16, 
anchovies: 32. 

如果一个人点了一份有蘑菇和凤尾鱼的披萨,那么他的总分是34分。

checklist指令有没有办法封装$scope可以访问的TotalBits()方法?在$scope中是否有实例化的检查表对象的“句柄”?

EN

回答 2

Stack Overflow用户

发布于 2014-10-18 19:13:04

您可以始终将回调方法传递给指令(作为属性),一旦计算出位数,指令就会调用该方法。

票数 0
EN

Stack Overflow用户

发布于 2014-10-18 21:09:48

您可以扩展模块以实现此功能。请参阅此示例:

代码语言:javascript
复制
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/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26439086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档