javascript - 如何在调用模型获取时在 Backbone 中创建加载屏幕?

标签 javascript backbone.js

我正在尝试为 this.model.fetch({}) 发生时设置一个加载屏幕,不确定如何调用它...这是我当前尝试使用事件触发器但它没有触发...

search: function (e) {
      console.log('searching...');
      var eventL = this.vent;
      e.preventDefault();
      var that;

      that = this.model;
      //post instance to the server with the following input fields
      this.model.fetch(
        {data: {
          channel: $('#channel').val(),
          week: $('#week').val(),
          year: $('#year').val(),
          filter: $('#filter').val()
        },
      attack: this.options.vent.trigger('ok', data),
      success: $.proxy(this.storeMusic, this )
    });
    },

如果可能的话,我也想发回数据,这样我就可以将这些值包含在搜索屏幕中。

最佳答案

如果您试图将状态保存回服务器,您需要使用 save 方法而不是 fetchsave 方法(以及 fetch)接受成功回调(参见 documentation ),您可以使用它来触发隐藏加载屏幕的事件。

是这样的:

var self = this;

// About to save, fire event to indicate loading screen should be displayed
this.options.vent.trigger('saveStarted');

this.model.save({
  channel: $('#channel').val(),
  week: $('#week').val(),
  year: $('#year').val(),
  filter: $('#filter').val()
},
{
  success: function(model /*, response, options */) {
    // Save completed, fire event to indicate loading screen should be hidden
    // The model is available as the first parameter of the callback
    self.options.vent.trigger('saveCompleted', model);
  }
});

关于javascript - 如何在调用模型获取时在 Backbone 中创建加载屏幕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19716653/

相关文章:

javascript - 让 jQuery 计算一个 div 高度,减去一个特定的 em 值

javascript - 如何在选择标签的更改时切换选定的 true 或 false?

javascript - 如何在 ItemView 模板中对 Marionette/Backbone 集合的属性求和?

javascript - 主干 $el 错误

sorting - Backbone 排序方法

javascript - javascript 中特定调用的所有 ajax 回调的一个入口点

javascript - Gmail 是单页应用程序吗

javascript - "Dropdown-Menu"试图打开 child 时关闭

javascript - 输入模糊不会被触发

javascript - 主干 View 无法正确渲染