2013-07-12 3 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

Wight может помочь является afterRender крюком вида. Когда этот крюк работает, вы можете быть уверены, что все было отображено в DOM.

Например подписаться на крючок в didInsertElement и запланировать вызов afterRender:

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

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

Надеется, что это помогает.

+0

Хорошо работает :) –

Смежные вопросы