Hello Arnaud,
I am not saying that your way of doing things does not work, I am sure that it works. I am also sure that, because you master it now, you code it fast, so you feel good with it.
I just say that you spent certainly more time to implement your way, than using the way that I describe. I pretend that your code is more complex than mine, with the disadvantages that will result.
Developping has a cost, increasing nearly exponentially with the complexity of the code. So the shortest code is the best. Angular has this of efficient that it reduces drastically the dev time, and so the occurence of bugs, and so the overall cost. So what I am saying is : do not reinvent the wheel, use the full potential of Angular.
Never forget that the aim is not "it must work" but "the user must be served ASAP with the highest quality, at the lowest cost".
Cheers