Comment
Comment by aliveupstairs
I believe the templating is what's declarative, here. For instance, in Vue you can insert logic such as for loops, conditionals, event listeners, two-way data binding and so on right in the template with directives (HTML attributes).
Instead of an imperative JavaScript for loop.