gpt4 book ai didi

javascript - Ember.js 2.x : Call a helper from another helper

转载 作者:行者123 更新时间:2023-11-27 23:13:39 25 4
gpt4 key购买 nike

我正在尝试从我的 ember.js 应用程序中的另一个助手调用助手,但不知道 blazes 在 2.x 中如何执行此操作。作为引用,我使用 Ember 2.4 和 Ember-CLI。

有几个答案在旧版本中有效;例如,下面的代码片段定义了一个帮助程序变体,它尝试发挥一些魔力,然后调用 Ember 的内置 component 帮助程序...

import Ember from 'ember';

export function magicComponent(params) {
// ...
// do some magic here
// ...

return Ember.Handlebars.helpers['component'].apply(this, args); // Oops!
}

export default Ember.Helper.helper(magicComponent);

...但是该行标记为“哎呀!”是 TypeErroring,因为 Ember.Handlebars.helpers 在 Ember 2.x 中是 undefined。韦尔普。

有人知道如何在最新的 Ember 版本中以编程方式调用助手(或设置某种继承)吗?

[编辑]为了清楚起见,删除了对“ Handlebars ”的引用。

最佳答案

这就是我所做的,将基于 session 的日期格式和时区添加到 ember-moment :

import Ember from 'ember';

import MomentFormat from 'ember-moment/helpers/moment-format';

export default MomentFormat.extend({
session: Ember.inject.service(),

formatChanged: observer("session.timeZone", "session.dateFormat", function() {
this.recompute();
}),


compute([date], { locale }) {
const timeZone = this.get("session.timeZone");
const format = this.get("session.dateFormat");
return this._super([date, format], {locale, timeZone});
}
});

所以基本上,包括您需要的帮助程序,然后扩展它,并覆盖计算方法。

关于javascript - Ember.js 2.x : Call a helper from another helper,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35992966/

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