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/