Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js ember cli:创建将呈现视图的帮助器?_Ember.js_Ember Cli_Emblem.js - Fatal编程技术网

Ember.js ember cli:创建将呈现视图的帮助器?

Ember.js ember cli:创建将呈现视图的帮助器?,ember.js,ember-cli,emblem.js,Ember.js,Ember Cli,Emblem.js,我正在尝试使用Ember cli复制Ember TodoMVC。我受够了 我创建了如下视图: app/views/action-edit.coffee 当我直接在徽章模板中使用它时,例如。g查看“操作视图”,工作正常:呈现文本字段 但是emberjs.com/guides建议创建一个助手来渲染视图 我在ember cli网站上发现了这样一句话:“记住,您必须通过导出makeBoundHelper来注册您的助手”。在花了一段时间努力理解ES6模块是如何工作的之后,我最终得到了一段不会产生任何JS错

我正在尝试使用Ember cli复制Ember TodoMVC。我受够了

我创建了如下视图:

app/views/action-edit.coffee 当我直接在徽章模板中使用它时,例如。g<代码>查看“操作视图”,工作正常:呈现文本字段

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

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

app/helpers/action-edit.coffee 当我在徽章模板中这样使用它时:
动作编辑
,Ember会在浏览器控制台中输出:

[✓] 助手:操作编辑………..loltodo/helpers/action edit供应商/ember/ember.js:3521

所以我想帮手很好地连接上了

问题是它呈现为空白

我也试过:

app/helpers/action-edit.coffee 它会导致中出现错误“未定义不是函数”


因此,问题是:如何创建一个使用ember cli呈现视图的帮助器,以再现ember TodoMVC教程?

考虑一下:它应该有一个惯用的ember cli todo设置,如Stefan所说:文档描述了这一点,因此以下是步骤:

  • 从命令提示符运行
    ember生成助手“luis highlight”
    确保您的助手名称有破折号。
    ember cli
    不需要破折号 与html标记冲突(如果没有破折号,则不起作用)

  • 在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>');
    });
    

  • 谢谢你的回复,Stef。我知道这可以通过组件来完成,我确实计划使用它们。但我的目标不是实现任务,而是学习如何使用ember cli完成某些事情(由emberjs.com/guides建议)。你能建议如何执行“自定义视图帮助器”吗使用ember cli?我遇到了完全相同的问题。ember cli支持自定义视图帮助程序吗?文档可能会使它看起来不支持。
    `import ActionEditView from 'loltodo/views/action-edit'`
    
    `export default Ember.Handlebars.makeBoundHelper(ActionEditView)`
    
    `import ActionEditView from 'loltodo/views/action-edit'`
    
    `export default Ember.Handlebars.helper('action-edit', ActionEditView)`
    
    import Ember from 'ember';
    
    export default Ember.Handlebars.makeBoundHelper(function(value) {
      return new Ember.Handlebars.SafeString('<span class="hightlitht">' + value + '</span>');
    });
    
    {{luis-hightlight 'embercli is great'}}