2017-03-15 10 views

答えて

1

あなたは、クラスベースのヘルパーを得た場合は、いつものようにミックスインを使用することができます。

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'); 
    } 
}); 
+0

私はこれらの詳細ドキュメントを見つけることができますか? –

+0

確かに。 [ヘルプはこのRFCに従うヘルパーのためにはっきりと読む価値がある](https://github.com/emberb/ember/rfcs/blob/master/text/0053-helpers.md) – kumkanillam

+1

ありがとう@kumkanillamあなたは最高です –

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}`; 
    } 
}); 
関連する問題