[英]transition from ember service in 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);
});
},
When I try to go to ember route from ember service. 当我尝试从炭烬服务转到炭烬路线时。 I get the following error
Cannot read property toRoute of undefined
. 我收到以下错误,
Cannot read property toRoute of undefined
。 But when I try the same code in the controller it works fine. 但是,当我在控制器中尝试相同的代码时,它可以正常工作。 Can anyone help me here please ?
有人可以帮我吗?
If you are on a current-ish version of Ember you can inject the router as a service and use it to transition. 如果您使用的是最新版本的Ember,则可以将路由器作为服务注入并使用它进行过渡。
export default Ember.Service.extend({
router: Ember.inject.service(),
actions: {
doIt() {
this.get('router').transitionTo('somewhere');
}
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.