我正在尝试使用Backbone.Marionette设置渲染和关闭ItemView的动画.为了呈现视图,这非常简单:
MyItemView = Backbone.Marionette.View.extend({
...
onRender: function() {
this.$el.hide().fadeIn();
}
...
});
Run Code Online (Sandbox Code Playgroud)
这将使我的视图在渲染时淡入.但是,让我说我想在结束时淡出我的观点.
beforeClose: function() {
this.$el.fadeOut(); // doesn't do anything....
}
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为项目在调用后立即关闭this.beforeClose(),因此动画没有时间完成.
有没有办法,使用现在的Marionette来完成一个闭幕动画?
或者,这是我一直在使用的解决方法:
_.extend(Backbone.Marionette.ItemView.prototype, {
close: function(callback) {
if (this.beforeClose) {
// if beforeClose returns false, wait for beforeClose to resolve before closing
// Before close calls `run` parameter to continue with closing element
var dfd = $.Deferred(), run = dfd.resolve, self = this;
if(this.beforeClose(run) === false) {
dfd.done(function() {
self._closeView(); // call _closeView, making sure …Run Code Online (Sandbox Code Playgroud) 我在一家专门为初创公司提供Web应用程序的小型网络代理商工作.我正在推动我的老板使用javascript mvc标准(我使用BackboneJS)和模板化(使用下划线)将更多资源用于在客户端构建健壮的框架
我意识到在某些情况下强大的javascript框架是有意义的(例如,复杂的单页Web应用程序),以及其他可能不值得努力的情况(博客文章列表,可以使用php进行模板化)
我们正在尝试开发一个标准,用于何时在页面上实现javascript框架,以及何时依赖php进行模板化和服务器请求.
我希望interwebs社区的一些人对这个问题有一些想法,或者可以引用我关于这个主题的文章.我有一些自己的想法,但是"专家意见"会对我的管理团队产生更大影响......