我在mixin中定义了一些辅助函数;但是,我不确定如何在自定义帮助程序中使用这些函数。
我在下面提到了问题,但似乎不再使用$$value1$$
方法。
答案 0 :(得分:1)
如果你有基于类的助手,那么你可以照常使用Mixin。
export default Ember.Helper.extend(YourMixinName,{
session: Ember.inject.service(),
onNewUser: Ember.observer('session.currentUser', function() {
this.recompute();
}),
compute() {
return this.get('session.currentUser.email');
}
});
答案 1 :(得分:0)
默认帮助程序无法使用mixin
,因为它是无状态的。
但是,如果您需要一个与您的应用程序交互的帮助程序。您可以通过创建基于类的帮助程序来实现此目的。
https://guides.emberjs.com/v2.11.0/templates/writing-helpers/#toc_class-based-helpers
下面的代码段是一个基于类的帮助器,
import Ember from 'ember';
export default Ember.Helper.extend({
compute([value, ...rest], hash) {
let dollars = Math.floor(value / 100);
let cents = value % 100;
let sign = hash.sign === undefined ? '$' : hash.sign;
if (cents.toString().length === 1) { cents = '0' + cents; }
return `${sign}${dollars}.${cents}`;
}
});