'use strict'; var test = require('prova'), Vue = require('vue'), page = require('page'), route = require('../src/index.js'); var tempDiv = document.createElement('div'); tempDiv.innerHTML = '
'; document.body.appendChild(tempDiv.firstChild); var routes = { '/page1': { componentId: 'page-1', data: { isPage1: true }, isDefault: true }, '/page2/:page': { componentId: 'page-2', data: { isPage1: 'nope', isPage2: true } } }; Vue.use(route); Vue.component('page-1', { template: '
', ready: function() { // console.log('page-1', this.$data.$routeParams.page); // console.log('page-1', routes['/page2/:page'].data, this.$data); } }); Vue.component('page-2', { template: '

', attached: function() { // console.log('page-2', this.$data.$routeParams.page); // console.log('page-2', routes['/page2/:page'].data, this.$data); } }); /*var root = new Vue({ el: 'body', routes: routes }); test('data', function(assert) { setTimeout(function() { Vue.navigate('/page2/test'); setTimeout(function() { Vue.navigate('/page1'); setTimeout(function() { Vue.navigate('/page2/otherParam'); setTimeout(function() { Vue.navigate('/page1'); setTimeout(function() { Vue.navigate('/page2/andAnother'); }, 800); }, 800); }, 800); }, 800); }, 800); }); */