Ember绑定块助手
我想知道如果在ember的registerBoundHelper曾经打算能够处理块样式助手。 例如,我创建了以下内容:
Ember.Handlebars.registerBoundHelper('unlessUndefined', (context, options) ->
unless typeof context == "undefined"
return options.fn(this)
else
return options.inverse(this)
)
这个想法是这样使用它的:
{{#unlessUndefined choice}}
{{#if choice}}
<p>You chose yes</p>
{{else}}
<p>You chose no</p>
{{/if}}
{{else}}
<p>Make a choice</p>
{{/unlessUndefined}}
option.fn(this)部分事物似乎不呈现任何输出。 当我这样做时,在控制台中出现一个错误:“你不能在渲染过程之外使用appendChild”
如果这是不可能的,也许有人可以建议另一种方式来实现一个条件块,它只会显示绑定值是不是未定义的?
我只是花了很多时间来对抗这个问题,并找到了一些解决方法。 我查看了执行registerBoundHelper方法的pull请求。
我在这一行上面添加了以下内容:https://github.com/emberjs/ember.js/pull/1274/files#L0R357
Ember.run.scheduleOnce('render', view, 'rerender')
它看起来像boundHelper方法只是包装原始的帮助器方法并创建一个匿名视图。 唯一的问题是观察者将匿名视图放入渲染模式而不将原始视图放在第一个视图中。
至少这是我认为正在发生的事情。 无论如何,它现在适用于我。 也许这是一个错误?
链接地址: http://www.djcxy.com/p/68413.html