Javascript 主干:在等待服务器响应时使用加载映像
Flow-in应用程序在两个不同型号上同时有两个后端调用。Javascript 主干:在等待服务器响应时使用加载映像,javascript,backbone.js,Javascript,Backbone.js,Flow-in应用程序在两个不同型号上同时有两个后端调用。 如果情况正常,第一个用户登录到站点,另一个fetch()获取详细信息。 这样就有两种模式 登录模型 仪表板集合 登录视图如何将save()请求发送到登录模型,如果成功,它将路由到getCampaignsLoginView login: function(e) { e.preventDefault(); this.model.set({ "email": $('#email').val(), "password
如果情况正常,第一个用户登录到站点,另一个
fetch()
获取详细信息。
这样就有两种模式
save()
请求发送到登录模型,如果成功,它将路由到getCampaigns
LoginView
login: function(e) {
e.preventDefault();
this.model.set({
"email": $('#email').val(),
"password": $('#password').val()
});
this.model.save({},{
success: function(model, response, options){
Backbone.history.navigate('getCampaigns', {trigger: true});
}
});
}
路由器
getCampaigns: function() {
$('.container').html('<img src="../public/assets/images/spinner.gif"/>');
dashboardList.fetch();
dashboardListView.render();
$('.container').html(dashboardListView.el);
}
getCampaigns:function(){
$('.container').html('');
dashboardList.fetch();
dashboardListView.render();
$('.container').html(dashboardListView.el);
}
不确定如何应用此加载图像
$this.html(“”)代码>首先,在呈现视图之前,您必须等待集合被提取:
dashboardList.fetch({
success: function() {
dashboardListView.render();
}
});
var DashboardListView = Backbone.View.extend({
initialize: function() {
this.listenTo(this.collection, 'reset', this.render);
}
});
或者在你看来:
dashboardList.fetch({
success: function() {
dashboardListView.render();
}
});
var DashboardListView = Backbone.View.extend({
initialize: function() {
this.listenTo(this.collection, 'reset', this.render);
}
});
您可以在代码中的某个位置:
$(document).ajaxStart(function(){
$('.container').html('<img src="../public/assets/images/spinner.gif"/>');
});
$(document).ajaxStop(function(){
$('.container').empty();
});
$(文档).ajaxStart(函数(){
$('.container').html('');
});
$(文档).ajaxStop(函数(){
$('.container').empty();
});
为什么不在获取仪表板列表之前显示图像?这是如何工作的?我是主干网新手。请将其放在获取行之前:$('some_selector').html(“”);按照您的建议更新路由器代码,但运气不佳。@HimanshuYadav,您想在用户点击登录按钮之前显示加载程序吗?如果是这样,请将添加的代码放在登录函数的model.save()之前。另外,不需要设置和保存,只需使用save并传递与使用set函数相同的数据。它不适用于主干模型的所有ajax调用吗?是的,不仅适用于主干,而且适用于所有ajax调用。这不是您想要的吗?尝试更改this.listenTo(this.collection,'reset',this.render)
到this.listenTo(this.collection,'sync',this.render)代码>