javascript - 从 Ember.js 中的 Ember 服务过渡

标签 javascript ember.js

generateDeviceCode(response) {
  let {
      encryptedactivationmessage,
      macvalueactivationmessage,
      encryptioncounter
  } = response.registerDetails;

  let softtoken = this.get('softtoken');

  softtoken.callSoftTokenService(
          'generateDeviceCode',
          macvalueactivationmessage,
          encryptedactivationmessage,
          encryptioncounter
      )
      .then(response => {
          let {
              deviceCode
          } = response;
          let userId = this.get('userId') || this.get('userPreference.userId');
          let groupId = this.get('groupId') || this.get('userPreference.groupId');

          let payload = {
              deviceCode,
              authorizationCode: this.get('memoizedFields.authorizationCode'),
              tokenSerialNumber: this.get('memoizedFields.tokenSerialNumber'),
              userId,
              groupId,
              notificationId: 'NA'
          };

          this.navigation.toRoute('digital.pinRegistrationFlow', {
              queryParams: {
                  initialState: 'setPin',
                  data: payload
              }
          });
      })
      .catch(err => {
          Logger.error(err);
      });
 },

当我尝试从 ember 服务转到 ember 路线时。我收到以下错误无法读取未定义的路由属性。但是当我在 Controller 中尝试相同的代码时,它工作正常。有人可以帮我吗?

最佳答案

如果您使用的是 Ember 的最新版本,您可以将路由器作为服务注入(inject)并使用它进行转换。

export default Ember.Service.extend({
     router: Ember.inject.service(),
     actions: {
         doIt() {
             this.get('router').transitionTo('somewhere');
         }
     }
}); 

关于javascript - 从 Ember.js 中的 Ember 服务过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49094533/

相关文章:

javascript - 如果数据更改,指令中的 ng-repeat 不会更新

javascript - 在 Ember JS 组件中初始化数组

ember.js - 子目录中的Ember组件

url - EmberJS 和 URL 结构问题

javascript - EmberJS 应用程序和西兰花

javascript - Ember删除记录太多递归

javascript - 弹出菜单的 slideToggle

javascript - 通过 cookie 的 jQuery 自定义背景

javascript - 无法在我的 Andro 应用程序中执行 JQuery,但在 Chrome 中执行相同的操作

javascript - 发送带有文件的 var,在脚本中访问它并显示隐藏的 div