避免在操作中重复方法名称

Avoid repetition of method name in actions

如何避免在我的 ember 组件中重复以下 foo 方法?

Ember.Component.extend({
  ...

  foo(val) {
    this.set('baz', val);
  },

  actions: {
    bar() {
      this.foo(this.get('val'));

      // .. other code
    },
    foo(val) {
      this.foo(val);
    }
  }
});

您的代码看起来没问题。如果你真的想改变一些东西,你可以让 foo 方法成为一个动作:

Ember.Component.extend({
  ...

  actions: {
    bar() {
      this.send('foo', this.get('val'));

      // .. other code
    },
    foo(val) {
      this.set('baz', val);
    }
  }
});