The bug source code is here.Meteor Lenker {{#if}} verwandelt Strings in Objekte
Nehmen wir an, ich bin über ein Array in Meteor mit einer gewöhnlichen {{#each}}
Schleife Looping. Jedes Array-Element ist eine Zeichenfolge, und ich gebe die Zeichenfolge jeden Schritt mit {{this}}
aus. So weit, ist es gut! Wenn ich einen Lenkerhelfer verwende, um typeof
für this
zu überprüfen, bekomme ich string
. Süss! Alles ist so wie es sein sollte.
Aber wenn ich eine {{#if something }}
-helper innerhalb des {{#each}}
hinzufügen (die something
nur true zurückgibt und damit in Gang hält und Ausgänge {{this}}
) die Zeichenfolge wird noch im HTML gut aussehen, aber es ist jetzt eine object
in der typeof
Check!
Dies ist super-nervig wie alle (typeof someVarINeedToTest === 'string')
mein Code möglicherweise davon ab, jetzt wird false zurückgeben.
Mache ich etwas falsch?
Oder ist das ein tatsächlicher Fehler?
Wenn ja: Ist es ein meteorspezifischer oder Lenkerspezifischer Bug?
Danke!
Oh: the source link again. Ziehen Sie einfach meteor
und suchen Sie in Ihrer Browserkonsole.
Prost, große Antwort! –
Vielen Dank - gute Arbeit an einem einfach zu bedienenden Testfall :) –
Eine andere Problemumgehung, die Sie beim Vergleich von Strings verwenden können: _.isEqual (this, stringToCompareAgainst). Beachten Sie auch, dass Template.currentData() eine Zeichenfolge und kein Object zurückgibt – JobJob