2016-07-09 9 views
0

Ich frage mich, ob dies nicht getan werden kann, aber ich brauche einen Rat. Ich habe eine Komponente Vue JS wie folgtvue js Auswertung einer Variablen, wenn an eine Komponente übergeben

<media class="u-media-top u-padding Media--secondary t-borderleft-{{FetchCompanyName()}} t-borderbottom" title="School Name"> 
    {{organisation}} 
    </media> 

und innerhalb der Komponente i

<template><div class="Media" v-bind:class="class">.... 

so wie man sehen kann ich eine Liste der Klassen auf die Komponente zu übergeben und mit in der Komponente binden sie alle zum HTML. alles ist gut. Allerdings mag ich meine Variable

FetchCompanyName() 

ausgewertet werden (i erwarten zu sehen t-borderleft-CompanyA) (das ist eine Zeichenfolge aus einer mixin zurückgegeben wird), nachdem es durch meine Komponente übergeben wird. wie es derzeit steht, wenn es lädt, sehe ich

t-borderleft-{{FetchCompanyName()}} 

als ich nehme an, es nur als String übergeben. Kann mir jemand Ratschläge geben, wie ich erreichen würde, was ich will?

Prost Sam

Antwort

0

Sie konnten dieses versuchen:

<media :class="'t-borderleft-' + FetchCompanyName()" class="u-media-top u-padding Media--secondary t-borderbottom" title="School Name"> 
    {{organisation}} 
</media> 

Sie sollten auch die v-bind:class="class" in Ihrer Komponente entfernen. Sie können auch versuchen, FetchCompanyName eine berechnete Eigenschaft

zu machen