2017-02-23 1 views
0

Hallo ich bin mit Meteor mit einigen Jade (Flamme) Vorlagen:Howto Vorlage Code nach Bedingung in Jade?

template(name="userFormsLayout") 
    section.auth-layout 
    section.auth-dialog 
    +samlLogin 
    //+Template.dynamic(template=content) 

ich möchte den kommentierten Abschnitt durch eine Bedingung enthalten:

template(name="userFormsLayout") 
    section.auth-layout 
    section.auth-dialog 
    +samlLogin 
    var cond = true 
    if(cond) 
     +Template.dynamic(template=content) 

ich diesen javascript auch für diese Vorlage haben

Template.userFormsLayout.helpers({ 
    languages() { 
    return _.map(TAPi18n.getLanguages(), (lang, tag) => { 
     const name = lang.name; 
     return { tag, name }; 
    }); 
    }, 

    isCurrentLanguage() { 
    const t9nTag = i18nTagToT9n(this.tag); 
    const curLang = T9n.getLanguage() || 'en'; 
    return t9nTag === curLang; 
    }, 
}); 

Kann jemand helfen?

+0

setzen Sie die var '' 'cond''' in Ihrer aktuellen Vorlage? – Sean

+0

siehe update, es sieht genau so aus, ok ich habe verschiedene Versionen mit eckigen Klammern ausprobiert ... aber endete immer mit Fehlern – Gobliins

+0

Woher kommt der Wert von '' 'cond'''? – Sean

Antwort

1

Der Meteor Weg, dies zu tun wäre, die Variable cond in einem Helfer zu setzen. Beispiel:

Helper:

Template.userFormsLayout.helpers({ 
    cond() { 
    // a function that returns 'true' or 'false' 
    return true; 
    }, 
}); 

Vorlage:

template(name="userFormsLayout") 
    section.auth-layout 
    section.auth-dialog 
    +samlLogin 
    if(cond) 
     +Template.dynamic(template=content) 
+0

Können Sie auch selbst definierte Objekte auf diese Weise zurückgeben? – Gobliins

+1

Ja, wenn Sie '' '{name: 'test', value: true}' '' zurückgegeben haben, könnten Sie in Ihrer Vorlage '' '{{cond.name}}' '' '' '' {{cond .value}} '' ' – Sean