2012-08-09 93 views
1

我正在使用Ember,並試圖在x-handlebars腳本段內部執行一些javascript代碼(這是不可能的)。這裏是我的代碼:在x-handlebars腳本內部執行javascript

<script type="text/x-handlebars" data-template-name="home"> 

<div id="slideshowfrontpage"> 

    <script type="text/javascript"> 

    $.vegas('slideshow' , {valign:'center', 
    backgrounds: homeImgURLs 
    })('overlay', { 
    src:'css/images/overlays/01.png' 
    }); 

    </script> 

</div> 

</script> 

我該怎麼做這樣的事情?謝謝!

回答

4

如果您想在每次將元素添加到DOM時觸發javascript,則應將該代碼添加到didInsertElement method中。

Em.View.create({ 
    templateName: 'home', 

    didInsertElement: function(){ 
     this.$().vegas('slideshow' , {valign:'center', 
      backgrounds: homeImgURLs 
     })('overlay', { 
      src:'css/images/overlays/01.png' 
     }); 
    } 
}); 

這個。$()實際上會讓你看到該視圖的DOM元素(這非常好)。每次視圖被附加時,這將會觸發一次,當它從DOM中被移除時,會有一個匹配的方法。