2017-05-26 6 views
0

Ich benutze VueJS 2.3.3 und Coffescript und ich versuche, eine Prop zu einer Komponente vom Router zu übergeben, aber ich habe keinen Erfolg. Code ist nicht meins, also habe ich einige Schwierigkeiten, herauszufinden, was ich falsch mache. Hier ist mein Router:Requisiten über Router zu übergeben funktioniert nicht

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 } 
     }, 
     ... 
    ] 
    } 
    ... 
} 

Hier ist mein App.vue Code:

<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> 

Auf meiner Komponente, Ich erhalte die Stütze wie gewohnt:

props: 
    has_groups: 
     default: false 

Alles funktioniert gut, außer Das has_groups erhält nicht den richtigen Prop-Wert vom Router. Es ändert sich nicht zu wahr.

Kann mir jemand helfen herauszufinden, was mir fehlt?

Antwort

1

Ich fand die Lösung. Da ich benannte Routen verwende, muss ich die Requisiten konfigurieren wie:

props: 
    global_loader: false 
    header: false 
    app: (route) -> ({ has_groups: true }) 
Verwandte Themen