Also ich versuche, um ein Objekt zu einem mixin passieren und ich habe meine mixin wie folgt:Jade - Objekte und Mixins
mixin summarySection(panelID, bodyID, title, options)
div(class='panel panel-default panel-summary')
div(id=panelID class='panel-heading' role='tab')
h4(class='panel-title')= title
div(class='pull-right')
if(options.dropdown)
select
option #{options.dropdown.options}
a(role='button' data-toggle='collapse' href='##{bodyID}' aria-expanded='#{options.expanded}' aria-controls=bodyID) +
div(id=bodyID class='panel-collapse collapse' role='tabpanel' aria-labelledby=panelID class= options.hasOwnProperty('expanded') ? 'in' : '')
div(class='panel-body')
if block
block
else
p Content goes here
if (options.footer)
div(class='panel-footer text-center')
a(href='#{options.footer.link}') #{options.footer.text}
Ich nenne die mixin wie folgt:
+summarySection('panelRecentActivity', 'bodyRecentActivity', 'Recent Activity', {'expanded': 'true', 'dropdown': {'options': 'Last 30 days'}})
+summarySection('panelStatements', 'bodyStatements', 'Statements')
Es funktioniert Gut, wenn ich mit allen Variablen rufe, aber wenn ich keine bestimmte Variable im Objekt übergebe, dann wird ein Fehler ausgegeben, der besagt, dass es undefiniert ist. Zum Beispiel für den zweiten Mixin-Aufruf oben bekomme ich den Fehler Cannot read property 'dropdown' of undefined
, weil es nicht definiert ist.
Wie überprüfe ich ordnungsgemäß, ob sie definiert sind und Fehler vermeiden?