2013-07-12 448 views
0

我想知道任何模板呈現時的事件或其他人。EmberJs中的模板呈現

<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()函數。 我必須使用哪個事件或功能?

我可以通過鍵入在地址欄/#/儀表板或點擊一些按鈕等

回答

1

懷特可能幫助是afterRender鉤的視圖去到儀表板模板。當這個鉤子運行時,你可以確定所有東西都被渲染到了DOM中。

例如訂閱鉤在didInsertElement和呼叫安排到afterRender

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

    processChildElements: function() { 
    $("#username").val(""); 
    $("#email").val(""); 
    } 
}); 

希望它能幫助。

+0

它工作得很好:) –