将过滤器函数添加到过滤器在typescript中不起作用

时间:2016-04-27 09:17:48

标签: angularjs typescript

我正在尝试将过滤器功能添加到过滤器过滤器。

我正在关注这个示例小提琴,它工作正常但是在普通的javascript中。

http://plnkr.co/edit/zigptcUjJ2GhurAKFQ0L?p=preview

我正在尝试实现相同的代码,但在Typescript中,没有任何运气:函数永远不会被调用。

我的html与小提琴相同,我的打字稿如下

app.ts

module app {
    var app = angular.module('app', ['']);
    app.controller('ctrl', ctrl);
}

ctrl.ts

module ctrls {
    export class ctrl {
        friends = [
            { name: "Peter",   age: 20 },
            { name: "Pablo",   age: 55 },
            { name: "Linda",   age: 20 },
            { name: "Marta",   age: 37 },
            { name: "Othello", age: 20 },
            { name: "Markus",  age: 32 }
        ];

        static filterFunction(element) {
            return element.name.match(/^Ma/) ? true : false;
        };
    }
}

我尝试使用和不使用static关键字而没有任何运气,但在这两种情况下都没有调用该函数。

请帮忙吗?

1 个答案:

答案 0 :(得分:0)

首先,过滤功能不应该是静态的。

其次,我认为你的主要问题是模块创建。尝试替换这些行:

var app = angular.module('app', ['']);
app.controller('ctrl', ctrl);

用这些:

var app = angular.module('app', []);
app.controller('ctrl', ctrls.ctrl);