As of Vue-Router 3.1.0, the ideal way is to use the slots api.
Documentation Here
@choasia's answer doesn't allow for props to be passed to the component
@Badacadabra's answer causes problems with library-buttons (such as button margins)
Here's how the solution would work with the slots API