<script src="https://cdn.jsdelivr.net/vue/1.0.13/vue.min.js"></script>
<script src="https://cdn.jsdelivr.net/vue.router/0.7.7/vue-router.min.js"></script>
<div id="appHead">
<input v-model="pState.header">
<input v-model="hubState.message">
<pre>{{pState.header}}</pre>
<pre>{{$data | json}}</pre>
</div>
<div id="app">
<h1>Body</h1>
<p>
<!-- use v-link directive for navigation. -->
<a v-link="{ path: '/foo' }">Go to Foo</a>
<a v-link="{ path: '/bar' }">Go to Bar</a>
</p>
<!-- use router-view element as route outlet -->
<router-view>
</router-view>
end
</div>
CSS
.v-link-active {
color: red;
}
JavaScript
var hub = {
state: {
message: 'Hello!'
}
};
var vmHead = new Vue({
el: '#appHead',
data: {
pState: {
header: "Header....."
},
hubState: hub.state
}
})
// Define some components
var Foo = Vue.extend({
template: '<input type="number" v-on:input="addToCart($event, num)" min="0" placeholder="0">',
data: function() { return {
pState: {
dB: "hello B"
},
hubState: hub.state,
num: 1
}},
methods: {
addToCart: function(event, id) { alert(event.target.value); }
}
});
var Bar = Vue.extend({
template: '<p>This is bar!</p>',
data: function() { return {
pState: {
dB: "hello B"
},
hubState: hub.state,
}}
});
// The router needs a root component to render.
// For demo purposes, we will just use an empty one
// because we are using the HTML as the app template.
var App = Vue.extend({
})
// Create a router instance.
// You can pass in additional options here, but let's
// keep it simple for now.
var router = new VueRouter()
// Define some routes.
// Each route should map to a component. The "component" can
// either be an actual component constructor created via
// Vue.extend(), or just a component options object.
// We'll talk about nested routes later.
router.map({
'/foo': {
component: Foo
},
'/bar': {
component: Bar
}
})
// Now we can start the app!
// The router will create an instance of App and mount to
// the element matching the selector #app.
router.start(App, '#app')
Please Whitelist JSFiddle in your content blocker.
Help keep JSFiddle free for always by one of two ways:
Whitelist JSFiddle in your content blocker (two clicks)
Go PRO and get access to additional PRO features →
Join the 4+ million users, and keep the JSFiddle dream alive.
Ad-free
All ads in the editor and listing pages are turned completely off.
Use pre-released features
You get to try and use features (like the Palette Color Generator) months before everyone else.
Fiddle collections
Sort and categorize your Fiddles into multiple collections.
Private collections and fiddles
You can make as many Private Fiddles, and Private Collections as you wish!
Console
Debug your Fiddle with a minimal built-in JavaScript console.