【问题标题】:Why does generated ember cli helper export function and helper?为什么生成的 ember cli helper 导出函数和 helper?
【发布时间】:2015-02-12 15:37:43
【问题描述】:

默认情况下,由 ember-cli 生成的帮助程序如下所示:

import Ember from 'ember';

export function boundLoc(input) {
  return input;
}

export default Ember.Handlebars.makeBoundHelper(boundLoc);

我有两个问题可以帮助我更好地理解这段代码。

1) 为什么有两个出口?第一次导出是否允许其他 JavaScript 文件导入和使用帮助程序,而第二次导出实际上将其注册为 Handlebars 帮助程序?

2) 其次,如果代码看起来像:

import Ember from 'ember';

export default Ember.Handlebars.makeBoundHelper(function boundLoc(input) {
  return input;
});

这会将其导出为 Handlebars 模板帮助程序,但不会使导入此帮助程序的其他 JavaScript 文件可以访问 boundLoc() 方法吗?

【问题讨论】:

    标签: javascript ember.js ember-cli


    【解决方案1】:

    1) 是的,有两个导出,因此在导入后,助手可以用作其他 JavaScript 中的函数,也可以用作把手助手。

    在其他 JavaScript 中:

    import {
      boundLoc
    } from 'app/helpers/boundLoc';
    
    boundloc(input);
    

    在模板中:

    {{boundloc input}}
    

    2) 是的,您描述的行为是准确的。那只会导出一个 boundHelper 而不是在其他地方使用的函数。您可以随时尝试 POC。

    但是请注意,如果您尝试仅导出 boundHelper,则生成的测试可能会遇到问题。详情请见this answer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-05
      • 2011-04-28
      • 2021-06-25
      • 2011-10-17
      • 2014-12-01
      • 1970-01-01
      相关资源
      最近更新 更多