2
私はこれは不可能だと思っていますが、誰かがより良く知っているかどうかを知りたいと思っていました。Emberの `action`ヘルパーに提供される関数の名前を取得する
ES6を使用すると、関数の名前を取得できます。例:
function foo() { return true; }
function bar() { return true; }
const functionContainer = foo;
foo.name; // 'foo'
bar.name; // 'bar'
functionContainer.name; // 'foo'
アクション・ヘルパーにアクションを渡すことができます。
export default Ember.Component.extend({
actions: {
bar() {
return true;
}
}
});
テンプレート:たとえば、私がしようとすると
export default Ember.Component.extend({
doFoo: Ember.on('didRecieveAttrs', function() {
console.log(this.attrs.foo.name); // 'bar'
})
});
が、私は空白の文字列を取得:
{{foo-component foo=(action "bar")}}
foo-component
内では、これを行うにはいくつかの方法があります。これは、bar
のアクションが無名関数でラップされているように見えるので、意味があります。ember-metal
誰でもその名前を取得する方法を知っていますか?私が取り組んでいるプロジェクトには大きな違いがあります。