gpt4 book ai didi

ember.js - Ember 绑定(bind) block 助手

转载 作者:行者123 更新时间:2023-12-04 12:34:09 25 4
gpt4 key购买 nike

我想知道 ember 中的 registerBoundHelper 是否曾经意味着能够处理 block 样式助手。例如,我创建了以下内容:

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”

如果这是不可能的,也许有人可以提出另一种方法来实现一个条件 block ,它只显示绑定(bind)值是否未定义?

最佳答案

我只是花了很多时间来解决这个问题并找到了某种解决方法。我通过 registerBoundHelper 方法的实现查看了拉取请求。

我在这一行上方添加了以下内容:
https://github.com/emberjs/ember.js/pull/1274/files#L0R357

Ember.run.scheduleOnce('render', view, 'rerender')

看起来 boundHelper 方法只是包装了原始的辅助方法并创建了一个匿名 View 。唯一的问题是观察者将匿名 View 置于渲染模式,而没有首先将原始 View 置于相同状态。

至少这是我认为正在发生的事情。无论如何,它现在对我有用。也许这是一个错误?

关于ember.js - Ember 绑定(bind) block 助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14271936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com