4 ms·
The v-* directives put me off from learning VueJS. Sticking control flow in dom tags is almost never a good idea - you already have Javascript, inventing your o
by yen223 9y ago
The v-* directives put me off from learning VueJS. Sticking control flow in dom tags is almost never a good idea - you already have Javascript, inventing your own syntax just means the developer now has to learn two ways to do the same thing, for not a lot of gain.
- wcarron 9y agov-directives are just a bridge for old angular.js developers to jsx and render functions. Vue supports both.
- yen223 9y agoNot saying that you're wrong, but the docs sure seem to imply that directives are the way to go: https://vuejs.org/v2/guide/index.html#Declarative-Rendering https://vuejs.org/v2/guide/index.html#Declarative-Rendering
- wcarron 9y agoYeah, that was my own personal opinion prefacing the facts. Vue supports both, but the template system is generally used more in the Vue ecosystem than JSX is. Vue neatly fits between JSX and angular.js' clunky template language. Since the developer can quickly understand that Vue and React are both doing the same thing underneath, he can pick his preferred way to do it (template vs render func). I see in passing that more experienced devs I've worked with prefer the react way at a higher rate than those of less experience do. But mostly, you're right that v-directives are vastly more popular.
- threatofrain 9y agoEvery time I ask about people's JSX experiences in Vue I hear very little.
- mtpn 9y agoI came to vue liking JSX pretty well, but it does seem that culturally (or maybe just among newer developers like me) the single-file component with directives in the markup is more popular. Especially in tutorials. I haven’t really felt any pain with the default vue tenplating style that made me think switching to JSX again would be useful to me.
- Shinobi881 9y agoAbsolutely! When I switched from Angular1 to Angular2 (alpha) it was such a pain trying to figure all their new directives. I just wanted to render a list components or conditionally render something. When I made the move to React - following the painful Angular2 beta update - I was so relieved to just use Javascript again.
- nojvek 9y agoWe use a library call virtual-jade. Like react compiles jsx to JS, it compiles pug/jade to JS as h(node, attrs, children) calls. With with react, preact and snabdom. It's been amazing writing templates that are just functions in a clean language like jade/pug. Jsx still has a lot of boiler plate. https://github.com/tdumitrescu/virtual-jade https://github.com/tdumitrescu/virtual-jade Also has a webpack loader https://github.com/tdumitrescu/virtual-jade-loader https://github.com/tdumitrescu/virtual-jade-loader Most of all I love this kind of libs that work well with other libs. It's like Lego programming. Choose bricks you like and stack them.