我在设置页面上有一个包含多个对象的ember应用程序。它们有一组验证,我称之为各种要点。
我还有一个余烬{{link-to}}
帮助器,允许用户转换到结果页面。
在我允许用户转换到结果页面之前,我想确保我的对象有效。
在Ember 2.0+中,我能够将一个函数绑定到一个按钮而不是使用{{link-to}}
帮助器,并且该函数可以验证并调用transitionToRoute
。
由于某些第三方样式问题,我不得不将ember版本降级为1.1并恢复使用{{link-to}}
帮助程序。做这个的最好方式是什么?在较老的灰烬?
有没有办法在{{link-to}}助手转换之前调用函数?我似乎无法找到一个。
答案 0 :(得分:2)
我推荐willTransition。
App.FormRoute = Ember.Route.extend({
actions: {
willTransition: function(transition) {
if (this.controller.get('userHasEnteredData') &&
!confirm("Are you sure you want to abandon progress?")) {
transition.abort();
} else {
// Bubble the `willTransition` action so that
// parent routes can decide whether or not to abort.
return true;
}
}
}
});
https://guides.emberjs.com/v1.10.0/routing/preventing-and-retrying-transitions/