【问题标题】:Ember Expected property shorthand object-shorthandEmber 预期属性速记对象-速记
【发布时间】:2017-12-07 06:34:05
【问题描述】:

我在我的一个 Ember 控制器中有一个操作,我正在调用我的后端,而 ESLint 给了我一个错误

Ember Expected property shorthand object-shorthand

在“保留”的 AJAX 数据中:保留

我是 Ember 新手,对 ES6 语法也有些陌生,所以我不完全确定如何让这段代码更“速记”。

控制器

merge(preserve) {
      let experienceIdList = [];

      // To-Do Make this a computed property
      get(this, 'model.experiences').forEach(function(experience) {
        experienceIdList.pushObject(experience.id);
      });

      $.ajax({
        url: `${config.EmberENV.API_HOST}/api/v0.1/experiences/merge/`,
        type: 'POST',
        data: {
          'experience_ids': experienceIdList,
          'name': get(this, 'model.newExperience.name'),
          'preserve': preserve,
          'moduleExperience': get(this, 'moduleExperience')
        }
      }).then(() => {
        this.transitionToRoute('authenticated.experiences');
      }).catch(function(error) {
        this.set('errorMessage', error.error || error);
      });
    }

【问题讨论】:

  • 只是猜测:将 catch(function(error) { 更改为 catch(error => {
  • 和/或 .forEach(function(experience) {.forEach(experience => {
  • 嘿,杰夫,谢谢你的提示,但不幸的是不是这样:(
  • err msg 是否给你一行?
  • 是的,对不起,可能应该提到这一点,它是“保留”的数据行:保留

标签: ember.js ecmascript-6 eslint


【解决方案1】:

跟随ESLint documentation on object-shorthand变化

'preserve': preserve,

 preserve,

所以data 的完整对象声明应该是:

 data: {
      'experience_ids': experienceIdList,
      'name': get(this, 'model.newExperience.name'),
      preserve,
      'moduleExperience': get(this, 'moduleExperience')
}

请注意,您可以在此文件中找到的 es-lint 选项中更改此行为:.eslintrc.js(在 ember-root 中)

【讨论】:

    猜你喜欢
    • 2016-12-13
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多