gpt4 book ai didi

javascript - 每次 ember 渲染或重新渲染时触发 jquery 事件

转载 作者:行者123 更新时间:2023-11-29 09:53:09 27 4
gpt4 key购买 nike

我需要在每次 ember.js View 渲染后运行一个函数。我最初的想法是在页面准备好后运行我的函数,但任何 View 更改都不受我函数中 DOM 操作的影响。每次 ember 呈现 View 或重新呈现 View 时,有没有一种方法可以绑定(bind)到事件(或引起触发器)?

最佳答案

您可以连接到 didInsertElement 并在那里执行所有 DOM 操作:

例如:

App.MyView = Ember.View.extend({
didInsertElement: function() {
Ember.run.scheduleOnce('afterRender', this, 'processChildElements');
},

processChildElements: function() {
// do here any DOM manipulatins
}
});

根据您最后的评论进行编辑

如果您不想在每个 View 的基础上挂接到 didInsertElement,您可以随时深入了解框架并重新打开 Ember.View类,并挂接到 render 函数,然后在调用 this._super(buffer); 之后, View 可以完成它的工作,甚至拦截 renderBuffer 你把你的自定义代码放在那里:

Ember.View.reopen({
render: function(buffer) {
this._super(buffer);
// do funny stuff ...
console.log(this.get('elementId'));
}
});

参见 here举个例子(检查控制台)。

希望对您有所帮助。

关于javascript - 每次 ember 渲染或重新渲染时触发 jquery 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18125416/

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