如果路由或模型发生变化,则稍后取消ember .run. js
Ember.js cancel Ember.run.later if the route or model changes
给定以下代码:
如果用户操作中的特定操作发生,则调用该函数。
现在我想"停止"这个和类似的功能"如果"用户离开路由(url)。
我在API文档中找不到任何方法来调用"在"路由更改之前的方法。
cronjob: function(param) {
//Nur wenn übergebene ID gleich dem aktuellen Model ist.
if (Ember.isEqual(param.id, this.get('id'))) {
this.set('activeCronjob', true);
Ember.run.later(this, function() {
var currentPath = window.location.pathname + window.location.hash;
if (Ember.isEqual(param.path, currentPath)) {
if (this.get('inBearbeitung')) {
console.log('Dokument mit ID' + this.get('id'));
console.log('Protokoll automatisch gespeichert um ' + moment().lang('de').format('hh:mm') + " Uhr");
this.set('savedBefore', 'Protokoll automatisch gespeichert um ' + moment().lang('de').format('hh:mm') + ' Uhr');
this.cronjob(param);
} else {
this.set('activeCronjob', false);
console.log("Model nicht oder nicht mehr im Bearbeitungsstatus mit ID: " + param.id);
}
} else {
this.set('activeCronjob', false);
console.log("Path ist nicht mehr gleich, Speicherung für Eintrag mit ID: " + param.id + " beendet!");
}
}, 300000); //Milisekunden entspricht 5Minuten300000
你可以在你的路由动作中定义willTransition钩子。具体的案例记录在烬指南
App.FormRoute = Ember.Route.extend({
actions: {
willTransition: function(transition) {
if (this.controllerFor('form').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;
}
}
}
});
相关文章:
- 强制模板刷新ember.js
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- jquery点击函数select&取消选择
- Ember Data DS.Model's set函数不起作用
- Ember.js-接口状态应该存储在哪里
- 使用Jquery选择或取消选择ListView中的所有复选框
- 在ember/handlers中使用value和valueBinding有什么区别
- 当在Ember中点击一个项目时,我如何将一个活动类添加到项目列表中
- 使用jquery选中/取消选中单个复选框
- 使用javascript取消隐藏和隐藏表单中的某些元素
- 如何销毁/删除/取消绑定SnapSVG.js
- 滚动然后捕捉到顶部而不是取消捕捉
- Uncaught TypeError:undefined不是函数-ember js
- 取消绑定主干视图事件
- 有没有一种方法可以列出Ember.Object的所有绑定
- 如何取消object.prototypes javascript的一个函数
- 将ember对象的数组从ember组件传递到模板
- 尝试JSON.stringify Ember模型时Id丢失
- 在执行findQuery emberjs和ember data时取消对api的现有调用
- 如果路由或模型发生变化,则稍后取消ember .run. js