在呈现任何模板时,我想知道事件或其他事件。
<script type="text/x-handlebars" id="dashboard">
<span>username</span><input type="text" id="username" />
<span>email addr</span><input type="text" id="email" />
</script>
App.Router.map(function() {
this.resource('index', { path: '/' }, function() {});
this.resource('dashboard', {path: '/dashboard'}, function() {});
});
App.DashboardController = Ember.ObjectController.extend({})
App.DashboardRoute = Ember.Route.extend({
renderTemplate: function() {
this.render('dashboard', { // the template to render
controller: 'dashboard' // the controller to use for the template
});
}
});
sample.js
function clearObj(){
$("#username").val("");
$("#email").val("");
}
我将在渲染仪表板模板时运行clearObj()函数。 我必须使用哪个事件或功能?
我可以通过在地址栏/#/仪表板上输入或点击某个按钮等来转到仪表板模板。
答案 0 :(得分:1)
可能有帮助的是视图的afterRender
挂钩。当这个钩子运行时,你可以确保所有东西都被渲染到DOM中。
例如,订阅didInsertElement
中的挂钩并安排对afterRender
的呼叫:
App.DashboardView = Ember.View.extend({
didInsertElement: function() {
Ember.run.scheduleOnce('afterRender', this, 'processChildElements');
},
processChildElements: function() {
$("#username").val("");
$("#email").val("");
}
});
希望它有所帮助。