我正在尝试使用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的文档在实际上看起来相当薄弱,特别是在过滤器方面 - 任何人都可以帮忙吗?
干杯!
这是我关于 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 知道我想要做什么?
提前致谢 :)