programando - que es angularjs
No se puede encontrar el espacio de nombres NodeJS cuando se usa NodeJS.Timer en Ionic 2 (1)
Abra src/tsconfig.app.json
*.
Agregue "node"
a la matriz "types"
.
Ejemplo:
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/app",
"baseUrl": "./",
"module": "es2015",
"types": [
"node"
]
},
"exclude": [
"test.ts",
"**/*.spec.ts"
]
}
* si este archivo no existe, agregue la parte especificada a tsconfig.json
en la carpeta raíz.
Estoy intentando usar un código que encontré en https://github.com/bevacqua/dragula/issues/289#issuecomment-277143172 para mi proyecto Ionic.
Cuando ejecuto el código obtengo un error Cannot find namespace ''NodeJS''
y el error se refiere a touchTimeout: NodeJS.Timer;
¿Cómo puedo adaptar el código siguiente para hacer que la línea NodeJS.Timer
funcione?
import { Directive, ElementRef, HostListener } from ''@angular/core'';
@Directive({ selector: ''[delayDragLift]'' })
export class DelayDragLiftDirective {
dragDelay: number = 200; // milliseconds
draggable: boolean = false;
touchTimeout: NodeJS.Timer;
@HostListener(''touchmove'', [''$event''])
// @HostListener(''mousemove'', [''$event''])
onMove(e: Event) {
if (!this.draggable) {
e.stopPropagation();
clearTimeout(this.touchTimeout);
}
}
@HostListener(''touchstart'', [''$event''])
// @HostListener(''mousedown'', [''$event''])
onDown(e: Event) {
this.touchTimeout = setTimeout(() => {
this.draggable = true;
}, this.dragDelay);
}
@HostListener(''touchend'', [''$event''])
// @HostListener(''mouseup'', [''$event''])
onUp(e: Event) {
clearTimeout(this.touchTimeout);
this.draggable = false;
}
constructor(private el: ElementRef) {
}
}