Puedes intentar poner tu código en
https://jsfiddle.net tal cual lo tienes.
Igual te dejo un ejemplo funcional de como lo haría yo, el ejemplo utiliza Vue con javascript tradicional, que igual lo puedes tomar tal cual o solo sacar la idea y llevarlo a tu forma de trabajo actual.