在Ember.View中加载第三方嵌入小部件

时间:2013-09-07 19:03:53

标签: ember.js

我正在将RebelMouse嵌入小部件加载到Ember.View中,如下所示:

App.RebelMouseView = Em.View.extend({
didInsertElement: function() {
var widgetEmbedCode = '<script type="text/javascript" class="rebelmouse-embed-script" src="https://www.rebelmouse.com/static/js-build/embed/embed.js?site=W3portals&height=900&flexible=1"></script>';

  this.$().append(widgetEmbedCode);
  }
});

但我希望有更好的方法。

一个不受欢迎的副作用是每次我初始化该视图时,它会以1秒的延迟重新加载整个小部件。感谢。

1 个答案:

答案 0 :(得分:1)

好的,关于显示/隐藏的好主意,请参阅http://jsfiddle.net/9EC8F/了解如何操作。基本上,诀窍是将视图保持在路线变化时将被撕裂的任何出口之外。然后,把它放在你的路线中:

activate: function() {
    $(".rebel-mouse-view").show();
},
deactivate: function () {
    $(".rebel-mouse-view").hide();
}

并在您看来:

classNames: ['rebel-mouse-view'],
相关问题