2017-05-26 14 views
0

私はVueJS 2.3.3とcoffescriptを使用していますが、ルータからコンポーネントに小道具を渡そうとしていますが、私は成功していません。コードは私のものではないので、私は何が間違っているのか把握するのにいくつかの問題があります。ここに私のルータがあります:ルータ経由で小道具を渡すことができません

App = require './views/App' 

Shared = { 
    header: require('./views/shared/header'), 
    global_loader: require('./views/shared/global_loader.vue') 
} 

view = (view_name) -> 
    require("./views/#{view_name}") 

componentize = (view_name, options = {}) -> 
    options.include_header ?= true 

    component = options.component || {} 

    component.app ?= view(view_name) 
    component.header = Shared.header if options.include_header 

    component 

exports.routes = [ 
    { 
    path: '/', 
    component: App 
    children: [ 
     { 
     path: '/component', 
     components: componentize('path/to/component'), 
     props: { has_groups: true } 
     }, 
     ... 
    ] 
    } 
    ... 
} 

ここに私のApp.vueコードです:私のコンポーネントで

<template lang="pug"> 
    #app-wrapper 
     transition(name="fade") 
     router-view(name="global_loader") 

     #header-wrapper 
     router-view(name="header") 

     #current-view-wrapper.container 
     transition(name="enter") 
      router-view(name="app") 
    </template> 

は、私はいつものように小道具を受けています:

props: 
    has_groups: 
     default: false 

すべては除いて、正常に動作しますhas_groupsはルータから正しいprop値を受け取りません。それは真実に変わらない。

誰かが私が逃しているものを見つけるのを助けることができますか?

答えて

1

解決策が見つかりました。名前付きルートを使用しているので、私は小道具を次のように設定する必要があります。

props: 
    global_loader: false 
    header: false 
    app: (route) -> ({ has_groups: true }) 
関連する問題