我的视图包含一些按钮。当该视图被激活时,它应该采用一些URL参数(在我的情况下 - 站点ID)并将其设置为按钮属性“data-site_id”。应用程序中也有一个路由器。但我不知道如何以最好的方式实现它。直到现在我看到3个假想的解决方案:
从网址哈希中提取网站ID。 URL是通过这样的模式构建的:
“sites / edit /:id(/:tab)”:“editSite”,
问题是 - 我可以在这里使用路由器本身(如果是,那么如何?)或者不能,并且应该用常见的JS方式解析它?当然,路由器& view是两个不同的对象,位于不同的文件/范围中。
(function(app, $, config, _) { var Model = new app.modelName(); var Router = app.Router = Backbone.Router.extend({ routes: { "": "start", //.... "sites/edit/:id(/:tab)": "editSite", //... }, //.... editSite: function(id, tab){ Model.set('site_id', id); } //.... })(window.Application, jQuery, window.chatConfig, _);
之后,我可以随时从模型中提取网站ID
那你的建议是什么?
答案 0 :(得分:1)
您的第二个建议解决方案最有意义,然后您可以实例化将该模型传递给构造函数的视图。