【发布时间】:2018-02-08 06:22:19
【问题描述】:
我有一些路线定义如下:
Router.map(function() {
this.route('foo', function() {
this.route('bar');
this.route('bar', {path: 'bar/:fooid'});
});
// ...
});
/foo/bar/:fooid 中的动态段是可以根据某些规则进行验证的 id。为了简化示例,我们假设 :fooid 必须正好包含 3 位数字。
如果像 /foo/bar/1234567 一样传递了无效值,我想将 url 重置为 foo/bar/。
简化的 foo.bar 路由:
export default Ember.Route.extend({
model (params) {
// If fooid is invalid, set model.fooid.isValid to false
},
afterModel (model, transition) {
// If fooid is invalid...
this.transitionTo('/foo/bar/');
}
});
验证过程本身有效,但我无法摆脱 url 中错误的 :fooid 参数!
如果我转换到不同的路线,它工作正常。
Ember 版本是 2.14
【问题讨论】:
标签: ember.js