Mi chiedo se il registerBoundHelper in ember sia mai stato concepito per essere in grado di gestire gli helper stile blocco. Ad esempio, ho creato il seguente:Helper Block Helber
Ember.Handlebars.registerBoundHelper('unlessUndefined', (context, options) ->
unless typeof context == "undefined"
return options.fn(this)
else
return options.inverse(this)
)
L'idea è di usarlo come tale:
{{#unlessUndefined choice}}
{{#if choice}}
<p>You chose yes</p>
{{else}}
<p>You chose no</p>
{{/if}}
{{else}}
<p>Make a choice</p>
{{/unlessUndefined}}
L'option.fn (this) parti di cose non sembrano rendere qualsiasi uscita. Quando faccio questo, ricevo un errore nella console che dice: "Non puoi usare appendChild al di fuori del processo di rendering"
Se questo non è possibile, forse qualcuno può suggerire un altro modo per ottenere un blocco condizionale che mostra solo se il valore associato non è indefinito?
Ciao Paul. Grazie per aver postato queste informazioni. Al momento sto eseguendo la versione principale di Ember, quindi non sono riuscito a mettere in pratica la soluzione. Comunque penso che tu abbia ragione sul fatto che la vista originale non venga rerenderizzata. Con le modifiche apportate, non è così facile come aggiungere la linea che menzioni come fanno il rerender all'interno di una funzione e il contesto di quella funzione non ha accesso alla vista originale. Probabilmente vale la pena aprire un bug su questo una volta che posso restringere il comportamento. –
c'è ancora un problema? –
non trovato nessuno, uno aperto: https://github.com/emberjs/ember.js/issues/2237 –