我在我的ionic3 App中使用ng2-simple-timer。
以下是来自repo的代码:
counter: number = 0;
timerId: string;
ngOnInit() {
this.timerId = this.st.subscribe('5sec', () => this.callback());
}
callback() {
this.counter++;
}
simpletimer将创建计时器名称并勾选每个“秒”的数字。
回调将返回计数器值(0,1,2,3,4,5,6等等)
我的问题是什么?
我想要定义唯一uniquecounterName: number = 0;
,因为我有多个计时器。
我的结果是什么:
换句话说,callback()函数必须返回预先定义的唯一变量名,如this.counter
callback(var) {
var++;
}
这个不起作用,因为我想在我的视图中使用var。 ....
答案 0 :(得分:0)
似乎不可能,如果你直接从文档中查看“GitHub: ng2-simple-timer-example”,你会发现作者如何处理多个计时器;我不会引用所有代码,您可以自己查看,但只需在此处粘贴回调的方式:
timer0callback(): void {
this.counter0++;
}
timer1callback(): void {
this.counter1++;
}
timer2callback(): void {
this.counter2++;
}
如您所见,整个过程(new,subscribe,del,unsubscribe)都是针对每个计时器完成的。因此,该库不直接支持您的用例。
您可以做的是内联回调函数,以便您可以访问创建它时的相同变量:
function sub(name) {
this.timerId = this.st.subscribe(name, () => {
// still have access to the name
});
}
当然,这必须大大适应您的目的,这是我可以从您的问题中收集到的。