ReferenceError: Can't find variable: authenticator Ember js Error

ReferenceError: Can't find variable: authenticator Ember js Error

我在浏览器控制台中收到错误 ReferenceError:找不到变量:authenticator Ember 错误 并且 authenticator 未定义 在终端中使用此代码

import Controller from '@ember/controller';
import { inject } from '@ember/service';
export default Controller.extend({
  session: inject('session'),
   actions: {   
     authenticate: function(){
       var credentials = this.getProperties('username','password');
       authenticator = 'authenticator:jwt';
       this.get('session').authenticate(authenticator,credentials).catch((reason) => {
            this.set('errorMessage', reason.error || reason);
       });
     }
}
});

正如@jelhan 在评论中所说,您需要使用 let 声明变量 authenticator。这是 JavaScript 的要求,而不是 Ember 的要求。

示例:

从“@ember/controller”导入控制器;

import { inject } from '@ember/service';
export default Controller.extend({
  session: inject('session'),
   actions: {   
     authenticate: function(){
       var credentials = this.getProperties('username','password');
       let authenticator = 'authenticator:jwt';
       this.get('session').authenticate(authenticator,credentials).catch((reason) => {
            this.set('errorMessage', reason.error || reason);
       });
     }
}
});