【发布时间】:2018-01-29 12:04:44
【问题描述】:
我正在尝试捕获转换以在继续之前运行一些检查。在我的几乎所有用例中,我都能很好地完成它。
但是,我有一组仅更改 queryParams 的链接。当我在此链接上尝试transition.abort() 时,我收到错误消息。
这是我的模板:
{{#link-to (query-params date=nextWeek)}}next{{/link-to}}
而且,在路上:
actions: {
willTransition (transition) {
transition.abort();
}
}
错误:
transitionByIntent@https://192.168.1.3/assets/vendor.js:62857:16
refresh@https://192.168.1.3/assets/vendor.js:62948:14
refresh@https://192.168.1.3/assets/vendor.js:37404:14
queryParamsDidChange@https://192.168.1.3/assets/vendor.js:37123:13
triggerEvent@https://192.168.1.3/assets/vendor.js:39417:13
trigger@https://192.168.1.3/assets/vendor.js:64310:7
fireQueryParamDidChange@https://192.168.1.3/assets/vendor.js:63092:7
getTransitionByIntent@https://192.168.1.3/assets/vendor.js:62785:5
transitionByIntent@https://192.168.1.3/assets/vendor.js:62855:16
refresh@https://192.168.1.3/assets/vendor.js:62948:14
refresh@https://192.168.1.3/assets/vendor.js:37404:14
queryParamsDidChange@https://192.168.1.3/assets/vendor.js:37123:13
triggerEvent@https://192.168.1.3/assets/vendor.js:39417:13
trigger@https://192.168.1.3/assets/vendor.js:64310:7
fireQueryParamDidChange@https://192.168.1.3/assets/vendor.js:63092:7
getTransitionByIntent@https://192.168.1.3/assets/vendor.js:62785:5
我截断了错误消息。基本上,它看起来像是一遍又一遍地尝试进行过渡。
此外,尽管出现错误,但页面确实会根据新参数刷新(它不应该刷新)。
问题
如何在查询参数发生变化时捕获转换,以便我决定继续还是abort?
我知道有queryParamsDidChange 钩子。我希望有queryParamsWillChange。
【问题讨论】:
标签: javascript ember.js ember-router