骨干木偶 - 切换视图时添加的视觉效果(Backbone Marionette - Add a vi

2019-06-26 13:43发布

有没有当我离开一个页面(关闭视图/布局)添加效果,并打开在同一地区一个新的便捷方式? (有点像淡入淡出效果)

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