我们假设我们有这样的测试代码:
var App = (function () {
var api = {
Router: null,
init: function () {
this.content = $("#content");
Backbone.history.start();
return this;
}
};
var ViewsFactory = {
view1: function () {
var model1 = new model1();
return new api.Views.View1({
model: model1
});
},
view2: function () {
var model2 = new model2();
return new api.Views.View2({
model: model2
});
},
view3: function () {
var model3 = new model3();
return new api.Views.View3({
model: model3
});
},
};
var Router = Backbone.Router.extend({
routes: {
"": "view1",
"2": "view2",
"3": "view3",
},
view1: function () {
var view1 = ViewsFactory.view1();
$(".content").html(view1.render().el);
},
view2: function () {
var view2 = ViewsFactory.view2();
$(".content").html(view2.render().el);
},
view3: function () {
var view3 = ViewsFactory.view3();
$(".content").html(view3.render().el);
},
});
api.Router = new Router();
return api;
})();
我想使用Require.js。请不要关注名字,而应关注这个想法。
<script>
标签的目的是什么?答案 0 :(得分:1)
为什么不是视图工厂。在你的情况下,我不确定它是否真的有用。
requirejs将有助于构建可重用的模块。 http://requirejs.org/docs/why.html
答案 1 :(得分:0)
路由器中的最佳选择是使用如下变量:
var $ = require('jquery'),
Backbone = require('backbone');