Javascript 在路由器操作中加载组件与在路由器初始化之前加载组件的优缺点
这样做的缺点/优点是什么:Javascript 在路由器操作中加载组件与在路由器初始化之前加载组件的优缺点,javascript,backbone.js,cordova,requirejs,ria,Javascript,Backbone.js,Cordova,Requirejs,Ria,这样做的缺点/优点是什么: define(function(require) { var $ = require('jquery'), Backbone = require('backbone'), $content = $("#content"); return Backbone.Router.extend({ routes: { "": "home", "employees/:i
define(function(require) {
var $ = require('jquery'), Backbone = require('backbone'), $content = $("#content");
return Backbone.Router.extend({
routes: {
"": "home",
"employees/:id": "employee"
},
home: function() {
require(["app/views/Home"], function (HomeView) {
var view = new HomeView({el: $content});
view.render();
});
},
employee: function(id) {
require(["app/views/Employee", "app/models/Employee"], function (EmployeeView, Employee) {
var employee = new Employee({id: id});
employee.fetch({
success: function (data) {
var view = new EmployeeView({model: data, el: $content});
view.render();
}
});
});
}
});
});
在这上面:
define(function(require) {
var $ = require('jquery'), Backbone = require('backbone'), $content = $("#content");
return Backbone.Router.extend({
routes: {
"": "home",
"employees/:id": "employee"
},
home: function() {
require(["app/views/Home"], function (HomeView) {
var view = new HomeView({el: $content});
view.render();
});
},
employee: function(id) {
require(["app/views/Employee", "app/models/Employee"], function (EmployeeView, Employee) {
var employee = new Employee({id: id});
employee.fetch({
success: function (data) {
var view = new EmployeeView({model: data, el: $content});
view.render();
}
});
});
}
});
});
(注意第4-6行)
选项2将在应用程序启动时将所有依赖项加载到内存中(无论是否使用);选项1将在调用路由和需要模块时动态加载依赖项 选择1对我来说似乎更好