gpt4 book ai didi

ember.js - 如何在回调函数中冒泡 Ember 操作?

转载 作者:行者123 更新时间:2023-12-03 21:52:27 25 4
gpt4 key购买 nike

我有一个 Ember 应用程序,我正在使用一个 Action 来应用 CSS 动画。动画完成后,我想将 Action 从 Controller 冒泡到我的路由以处理更多功能。

我知道如果我 return: true;正如 here 所解释的, Action 会冒泡。 .

这是我的 Controller 的样子:

App.MyController = Ember.ObjectController.extend({
actions: {
myAction: function() {
$('.my-element').addClass('my-animation-class').one('webkitAnimationEnd oanimationend msAnimationEnd animationend', function(e) {
console.log('working');
return true;
}
}
}
});

如果我在我的 animationend 中将某些内容记录到我的控制台中回调我可以看到它工作,如果我移动 return: true;在回调之外, Action 成功冒泡。但是,在回调内部返回 true 不起作用。

我错过了什么?

最佳答案

您可以通过调用 self.target.send('myAction'); 手动触发气泡

一个 IndexController像这样定义

App.IndexController = Ember.Controller.extend({
actions: {
bubbleMe: function(item){
var self = this;
alert('IndexController says you clicked on: ' + item);
setTimeout(function(){
self.target.send('bubbleMe',[item]);
}, 1000);
}
}
});

会冒泡到 ApplicationRoute像这样定义
App.ApplicationRoute = Ember.Route.extend({
actions: {
bubbleMe: function(item){
alert('ApplicationRoute says you clicked on: ' + item);
}
}
});

你可以在这里看到一个工作 fiddle : http://jsfiddle.net/tikotzky/2ce9s32f/

关于ember.js - 如何在回调函数中冒泡 Ember 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25189288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com