小编Tom*_*ans的帖子

使用TypeScript创建自定义角度过滤器

我正在尝试使用TypeScript创建自定义角度过滤器的最佳方法.

我看到的所有代码示例都使用如下代码:

myModule.filter( "myFilter", function()
{
    return function( input )
    {
        //  filter stuff here
        return result;
    }
}
Run Code Online (Sandbox Code Playgroud)

...有效,但似乎很乱,因为我想保持所有的过滤器代码分开.所以我想知道如何将过滤器声明为一个单独的文件(例如filters/reverse-filter.ts),所以我可以创建它:

myModule.filter( "filterName", moduleName.myFilter );
Run Code Online (Sandbox Code Playgroud)

......与控制器,服务等相同.

TS和Angular的文档在实际上看起来相当薄弱,特别是在过滤器方面 - 任何人都可以帮忙吗?

干杯!

filter angularjs typescript

16
推荐指数
2
解决办法
2万
查看次数

将参数传递给 TypeScript 中的回调函数

这是我关于 SO 的第一个问题,如果我以某种方式搞砸了,我深表歉意:)

我正在尝试使用 Typescript 0.9.1.1 播放 WebAudio,但目前我无法使用该decodeAudioData功能。

decodeAudioData 需要几个参数:音频数据、成功回调和错误回调。成功回调传递了一个我需要访问的“缓冲区”参数,我想使用 lambda 函数来做到这一点,但我不知道该怎么做。

我的(非工作)代码是:

init()
{
    audio_context.decodeAudioData( array_buffer, () => this.onDecode( buffer ) ) ;
}

onDecode( buffer:AudioBuffer )
{
//  do things with buffer param
}
Run Code Online (Sandbox Code Playgroud)

我可以用这样的长格式函数:

audio_context.decodeAudioData( array_buffer, function( buffer) { /* do stuff */ } ) ;
Run Code Online (Sandbox Code Playgroud)

但如果我可以使用 lambda 函数,长期来看它会更干净、更容易。

编译后的 JS 出来了

audio_context.decodeAudioData(array_buffer, function () {
        return _this.onDecode(buffer);
    }, function () {
        return _this.onError();
    });
Run Code Online (Sandbox Code Playgroud)

所以我可以通过在函数声明中插入一个“缓冲区”参数来手动使其工作 - 但是我如何编写它以便 TypeScript 知道我想要做什么?

提前致谢 :)

lambda callback parameter-passing typescript

5
推荐指数
1
解决办法
5983
查看次数