Ich frage mich, ob der registerBoundHelper in Ember jemals in der Lage war, mit den Blockstyle-Helfern umzugehen. Zum Beispiel habe ich die folgenden:Ember gebundener Blockhelfer
Ember.Handlebars.registerBoundHelper('unlessUndefined', (context, options) ->
unless typeof context == "undefined"
return options.fn(this)
else
return options.inverse(this)
)
Die Idee, es als solches zu verwenden sein:
{{#unlessUndefined choice}}
{{#if choice}}
<p>You chose yes</p>
{{else}}
<p>You chose no</p>
{{/if}}
{{else}}
<p>Make a choice</p>
{{/unlessUndefined}}
Die option.fn (diese) Teile der Dinge scheinen keine Ausgabe zu machen. Wenn ich dies tue, erhalte ich einen Fehler in der Konsole: "Sie können appendChild nicht außerhalb des Renderprozesses verwenden"
Wenn dies nicht möglich ist, kann vielleicht jemand einen anderen Weg vorschlagen, um einen bedingten Block zu erreichen nur anzeigen, wenn der gebundene Wert nicht undefiniert ist?
Hallo Paul. Vielen Dank, dass Sie diese Informationen veröffentlicht haben. Ich führe gerade die Master-Version von Ember, so dass ich Ihre Lösung nicht in die Praxis umsetzen konnte. Ich denke jedoch, dass Sie Recht haben, wenn die ursprüngliche Ansicht nicht neu gerendert wird. Mit den Änderungen, die sie vorgenommen haben, ist es nicht so einfach wie das Hinzufügen der Zeile, die Sie erwähnen, da sie den Render innerhalb einer Funktion ausführen und der Kontext dieser Funktion keinen Zugriff auf die ursprüngliche Ansicht hat. Es lohnt sich, einen Fehler zu öffnen, sobald ich das Verhalten eingrenzen kann. –
gibt es schon ein Problem? –
gefunden keine, geöffnet eins: https://github.com/emberjs/ember.js/issues/2237 –