Nested <router-view>- does it work when prefixed with static path??

by Admiral Potato

HTML

<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-router/dist/vue-router.js"></script>

<div id="app">
  <nav>
    <router-link to="/">/(root)</router-link>
    <router-link to="/party">/party</router-link>

		<router-link to="/goat/Gruff">Gruff Home</router-link>
		<router-link to="/goat/Gruff/profile">Gruff Profile</router-link>
		<router-link to="/goat/Gruff/posts">Gruff Posts</router-link>

		<router-link to="/goat/Faun">Faun Home</router-link>
		<router-link to="/goat/Faun/profile">Faun Profile</router-link>
		<router-link to="/goat/Faun/posts">Faun Posts</router-link>
</nav>
  <router-view></router-view>
</div>

CSS

nav a {
	display: block;
	background-color: #eee;
	padding: 4px;
	margin: 2px;
}

.goats {
	background-color: #efe;
	padding: 8px;
	margin: 2px;
}

.user {
	background-color: #fef;
	padding: 8px;
	margin: 2px;
}

Babel + JSX

const Goats = {
  template: `
    <div class="goats">
      <h2>Goats!</h2>
      <router-view></router-view>
    </div>
  `
}

const GoatsList = { template: `
<div>
	<div>There are goats in the house</div>
	<nav>
    <router-link to="/goat/Gruff">Gruff</router-link>
    <router-link to="/goat/Faun">Faun</router-link>
	</nav>
</div>` }
const GoatsParty = { template: '<div>GOAT PARTY IN THE HOUSE</div>' }

const User = {
	computed: {
		id () {
			return this.$route.params.id
		},
	},
  template: `
    <div class="user">
      <h2>User {{ id }}</h2>
			<nav>
				<router-link :to="'/goat/' + id">Home</router-link>
				<router-link :to="'/goat/' + id + '/profile'">Profile</router-link>
				<router-link :to="'/goat/' + id + '/posts'">Posts</router-link>
			</nav>
      <router-view></router-view>
    </div>
  `
}

const UserHome = { template: '<div>Home</div>' }
const UserProfile = { template: '<div>Profile</div>' }
const UserPosts = { template: '<div>Posts</div>' }

const router = new VueRouter({
  routes: [
    {
			path: '/',
			component: Goats,
      children: [
        // UserHome will be rendered inside User's <router-view>
        // when /user/:id is matched
        { path: '', component: GoatsList },
				
        // UserProfile will be rendered inside User's <router-view>
        // when /user/:id/profile is matched
        { path: 'party', component: GoatsParty },
      ]
    },
    {
			path: '/goat/:id',
			component: User,
      children: [
        // UserHome will be rendered inside User's <router-view>
        // when /user/:id is matched
        { path: '', component: UserHome },
				
        // UserProfile will be rendered inside User's <router-view>
        // when /user/:id/profile is matched
        { path: 'profile', component: UserProfile },

        // UserPosts will be rendered inside User's <router-view>
        // when /user/:id/posts is matched
        { path: 'posts', component: UserPosts }
      ]
    }
  ]
})

const app = new Vue({...