1

我正在使用 Ember 并尝试在 x-handlebars 脚本段内执行一些 javascript 代码(不可能将 a 放在 a 内吗?)。这是我的代码:

<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

1 回答 1

4

如果您想在每次将元素添加到 DOM 时触发 javascript,您应该在didInsertElement 方法中添加该代码。

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

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

this.$() 实际上会为您提供该视图的 DOM 元素(这非常好)。每次附加视图时,它都会触发一次,当它从 DOM 中删除时,会有一个匹配的方法。

于 2012-08-09T21:00:41.580 回答