There is no syntax to learn, except that you can have v-if and v-for in your html elements. A style block contains your CSS like you're used to, plus it can be scoped to a component. A script block contains a bit of local logic and event handlers.
Component = <template> + <script> + <style>. Give it a name with the .vue extension. Now you can use it like a custom HTML tag.
(If you really want JSX you can use it, too. Personally I'm migrating back from JSX to the above way of composing things)
Once you reach a certain complexity threshold in your app, you'll read how others solve this with a "flux architecture", include vuex in a few hours, and have these issues sorted out without hassle or nitpicking dozens of tiny libraries.
Need more "pages"? vue-router is there. Ajax-stuff? vue-resource just works.
Basically there are just 3 common issues left for Vue to become the ideal frontend solution IMO:
1) "official" bootstrap components that play well with vuex
2) a polished "react native" that just works, maybe soon solved by weex
3) SSR without hassle, ideally with a express.js middleware or something like this.