我正在将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秒的延迟重新加载整个小部件。感谢。
答案 0 :(得分:1)
好的,关于显示/隐藏的好主意,请参阅http://jsfiddle.net/9EC8F/了解如何操作。基本上,诀窍是将视图保持在路线变化时将被撕裂的任何出口之外。然后,把它放在你的路线中:
activate: function() {
$(".rebel-mouse-view").show();
},
deactivate: function () {
$(".rebel-mouse-view").hide();
}
并在您看来:
classNames: ['rebel-mouse-view'],