【问题标题】:ember-cli: creating a helper that would render a view?ember-cli:创建一个可以渲染视图的助手?
【发布时间】:2014-07-20 02:40:24
【问题描述】:

我正在尝试使用 ember-cli 重现 Ember-TodoMVC。我被this part 卡住了。

我创建了一个这样的视图:

app/views/action-edit.coffee

ActionEditView = Ember.TextField.extend
  didInsertElement: -> @$().focus()

`export default ActionEditView`

当我直接在 Emblem 模板中使用它时,例如。 G。 view "action-view",它工作正常:呈现一个文本字段。

但是 emberjs.com/guides 建议创建一个助手来渲染视图。

我在 ember-cli 网站上发现了这句话:“请记住,您必须通过导出 makeBoundHelper 来注册您的助手”。经过一段时间努力理解 ES6 模块是如何工作的,我最终得到了这段不会产生任何 JS 错误的代码:

app/helpers/action-edit.coffee

`import ActionEditView from 'loltodo/views/action-edit'`

`export default Ember.Handlebars.makeBoundHelper(ActionEditView)`

当我在 Emblem 模板中这样使用它时:action-edit,Ember 在浏览器控制台中输出:

[✓] helper:action-edit ................................... .. loltodo/helpers/action-edit vendor/ember/ember.js:3521

所以我假设帮助者连接得很好。

问题是它呈现空白!

我也试过这个:

app/helpers/action-edit.coffee

`import ActionEditView from 'loltodo/views/action-edit'`

`export default Ember.Handlebars.helper('action-edit', ActionEditView)`

这会导致this line 中出现错误“未定义不是函数”。

所以问题是:我如何创建一个使用 ember-cli 渲染视图以重现 Ember-TodoMVC 教程的this step 的助手?

【问题讨论】:

    标签: ember.js ember-cli emblem.js


    【解决方案1】:

    就像 Stefan 所说:文档对此进行了描述,因此步骤如下:

    1. 从命令提示符运行ember generate helper "luis-highlight" 确保您的助手名称有破折号.. ember-cli 不想要 与 html 标签冲突(如果没有破折号则不起作用)。

    2. helpers/luis-hightlight.js 里面写这个:

      import Ember from 'ember';
      
      export default Ember.Handlebars.makeBoundHelper(function(value) {
        return new Ember.Handlebars.SafeString('<span class="hightlitht">' + value + '</span>');
      });
      
    3. 从模板调用助手:

      {{luis-hightlight 'embercli is great'}}
      

    【讨论】:

      【解决方案2】:

      考虑查看:https://github.com/WMeldon/ember-cli-todos/blob/master/app/components/edit-todo.js 它应该有一个惯用的 ember-cli todo 设置

      【讨论】:

      • 感谢您的回复,Stef。我知道这可以通过组件来完成,我确实计划使用它们。但我在这里的目标不是执行任务,而是学习如何使用 ember-cli 完成某些事情(由 emberjs.com/guides 建议)。你能建议如何用 ember-cli 做一个“自定义视图助手”吗? emberjs.com/api/classes/…
      • 我遇到了完全相同的问题。 ember-cli 是否支持自定义视图助手?文档会让它看起来不是。
      猜你喜欢
      • 2014-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-03
      • 1970-01-01
      • 2015-06-09
      • 1970-01-01
      相关资源
      最近更新 更多