Vue.js - 将参数传递给子路由

use*_*192 2 vue.js

我有一个Vue.js应用程序.此应用程序使用vue-router显示视图.当应用程序启动时,我需要从服务器检索密钥.然后我想将该密钥传递给子视图.为了证明这个问题,我设置了这个小提琴.与此问题相关的代码如下:

var Page1 = { template: '<div><h3>Page 1</h3><p>Number: {{ number }}</p></div>', props: [ 'number' ] };
var Page2 = { template: '<div><h3>Page 2</h3><p>Number: {{ number }}</p></div>', props: [ 'number' ] };

var routes = [
  { path: '/page-1', component: Page1 },
  { path: '/page-2', component: Page2 }
];

var router = new VueRouter({
  routes 
});

var app = new Vue({
  router,
  el: '#app',
  data: {
    num: 0  
  },
  created: function() {
    var self = this;
    setTimeout(function() {
      self.num = 1;
    }, 100);
  }
});
Run Code Online (Sandbox Code Playgroud)

当我运行这个应用程序时,我不确定如何在设置时"传递" app.num到子视图(Page1Page2)app.num.我尝试使用" 传递道具来路由组件 "文档中提到的方法.但是,该方法似乎不适用于创建后加载的数据.我错过了什么?

Dec*_*oon 7

您可以通过以下方式将父组件中的值绑定到子组件router-view:

<router-view :number="num"></router-view>
Run Code Online (Sandbox Code Playgroud)