关于路由器的责任,我与一位同事存在分歧。在我们的单页应用程序中,我的印象是通过触发事件(即 Backbone.Events)来处理网络请求(AJAX),如下所示:
events : {
'click a#getUsers' : 'updateModels'
}
updateModels: function() {
$.ajax(); or this.Model.fetch();
}
然而,他的理解是,网络请求应通过路由器处理 URL 更改(取决于更改 URL 的单击,如下a[href="#getThings"]
所示:
var App = Backbone.Router.extend({
routes: {
"" : "main",
"thing" : "getThings"
}
getThings: function() {
this.newView = new NewView();
$.ajax(); // which populates the view with data
}
});
我想知道进行网络请求的主干原因是什么。