有没有当我离开一个页面(关闭视图/布局)添加效果,并打开在同一地区一个新的便捷方式? (有点像淡入淡出效果)
Answer 1:
木偶区有一个名为方法open
,默认情况下只需更换旧观点与新视图的HTML。 您可以覆盖这个方法做任何你喜欢的动画。 从区域文件 :
设置视图的如何el
附
如果您需要更改视图如何连接到DOM表示通过区域视图时,重写open
区域的方法。 这个方法接收一个参数 - 视图以显示。
的默认实现open
是:
Marionette.Region.prototype.open = function(view){
this.$el.html(view.el);
}
这将与视图的替换区域的内容el
/内容。 你可以改变你想这个是任何东西,不过,有利于过渡效果和更多。
Marionette.Region.prototype.open = function(view){
this.$el.hide();
this.$el.html(view.el);
this.$el.slideDown("fast");
}
这个例子将导致以该区域的顶部滑下,而不是只出现在的地方。
Answer 2:
你可以重写close
的视图功能,做这样的事情:
close: function () {
// fancy fade-out effects
Backbone.Marionette.View.prototype.close.apply(this, arguments);
}
而与你类似的事情render
功能。
Answer 3:
这似乎为我工作:
this.views = {
messageItem: Marionette.ItemView.extend({
template: Handlebars.templates.messaging_item,
tagName: "li",
className: "messaging-item",
render: function(){
this.$el.html(this.template(this.model.attributes));
this.$el.hide();
},
onShow: function(){
this.$el.slideDown(800);
}
})
};
Answer 4:
对于未来的用户人能用户牵线木偶我的过渡支持插件。
https://github.com/saqibshakil/Marionette.TransitionRegion/
我用CSS3过渡那些拥有更多的硬件支持超过jQuery的动画。 使用这种方法的缺点使得代码异步,所以要小心这一点。
Answer 5:
我认为这可能是对你有用。
下面的牵线木偶插件,增加了4种转换。 这里可以轻松地添加更多的过渡类型。
基本上而不是使用yourRegion.show(视图)...你现在可以使用yourRegion.showAnimated(查看{将animationType: 'yourAnimation'});
这是非常容易使用。
https://github.com/marcinkrysiak1979/marionette.showAnimated
在Github上查看文档更多信息
文章来源: Backbone Marionette - Add a visual effect when switching view