2016-07-03 11 views
0

Ich habe ein grundlegendes Button-Tag, mit dem ich experimentiere, und ich bin mir nicht sicher, warum Riot JS das folgende nicht rendert.Warum bewertet Riot JS dies als Javascript?

Wenn ich "Login" in einem <span> Tag umbrechen, wird es richtig gerendert.

Ich erwarte, dass, weil ich meine <script> innerhalb meiner benutzerdefinierten Riot-Tag definiert, dann würde es als HTML bewerten. Stattdessen bekomme ich Login is not defined Fehler in meinem Browser.

Gibt es eine Möglichkeit, diesen Text zu entkommen, wenn ich es als HTML rendern möchte, oder fehlt mir etwas?

<login-button class="mdl-button mdl-js-button mdl-button--raised mdl-button--accent"> 

    Login 

    <script type="coffee"> 

    @hello = 'world' 

    </script> 

</login-button> 

Antwort

0

Um das gewünschte Ergebnis zu erzielen, können Sie ein <yield/> Tag in Ihrem benutzerdefinierten Tag verwenden.

<login-button class="mdl-button mdl-js-button mdl-button--raised mdl-button--accent"> 

    <yield/> 

    <script type="coffee"> 

    @hello = 'world' 

    </script> 

</login-button> 

Dann, wo Sie den Tag anrufen, Ihren gewünschten Text also hinzufügen:

<login-button> 
    Login Button Text 
</login-button> 

Referenz: http://riotjs.com/api/#a-nameyielda-yielding-nested-html

Verwandte Themen