xir*_*ris 14 backbone.js marionette
当我离开页面(关闭视图/布局)并在同一区域中打开一个新的效果时,是否有一种方便的方法来添加效果?(像淡化效果)
Ton*_*leh 34
木偶区域有一个方法open,默认情况下只需用新视图替换旧视图的HTML.您可以覆盖此方法以执行您喜欢的任何动画.来自该地区的文件:
el附加如果在通过区域显示视图时需要更改视图附加到DOM的open方式,请覆盖该区域的方法.此方法接收一个参数 - 要显示的视图.
默认实现open是:
Marionette.Region.prototype.open = function(view){
this.$el.html(view.el);
}
Run Code Online (Sandbox Code Playgroud)
这将用视图el/内容替换区域的
内容.您可以将此更改为您希望的任何内容,从而促进转换效果等.
Marionette.Region.prototype.open = function(view){
this.$el.hide();
this.$el.html(view.el);
this.$el.slideDown("fast");
}
Run Code Online (Sandbox Code Playgroud)
此示例将导致视图从区域顶部向下滑动,而不是仅仅显示在原位.
您可以覆盖close视图上的函数,执行以下操作:
close: function () {
// fancy fade-out effects
Backbone.Marionette.View.prototype.close.apply(this, arguments);
}
Run Code Online (Sandbox Code Playgroud)
并执行与您的render功能类似的操作.
小智 7
这似乎对我有用:
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);
}
})
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9937 次 |
| 最近记录: |