gpt4 book ai didi

backbone.js - Backbone - 从 View 函数更新 URL

转载 作者:行者123 更新时间:2023-12-04 17:54:39 26 4
gpt4 key购买 nike

我在我的第一个主干项目中磕磕绊绊,并试图在单击按钮元素后更新 URL。

我可以通过 window.location.hash 手动设置 URL,但我认为这不是正确的方法。谁能告诉我更新 URL 的首选方式是什么?

var AppView = Backbone.View.extend({
events: {
"click #loadProject": "filterProject",
},
filterProject: function(){
var projectID = $('#selectProject option:selected').val();
var orgID = 'test';

// Is there a better way to do this?
window.location.hash = '/'+orgID+'/'+projectID;

this.renderProject(orgID,projectID);
},
renderProject:function(orgID,projectID){
//Some code
},
});

//Routing
var PropertiesRouter = Backbone.Router.extend({
routes: {
"/:who/:project":"getProjects", //#/org/1
"/:who":"getOrganisation", //#/org
"*actions": "defaultRoute"
},
getProjects:function(who,project){
app.renderProject(who,project);
},
getOrganisation:function(who){
app.renderOrganisation(who);
},
defaultRoute: function(actions){
app.renderHomePage();
},
});

var app = new AppView();
//create router instance
var propertiesRouter = new PropertiesRouter();
//start history service
Backbone.history.start();

谢谢!

最佳答案

你绝对可以调用window.location.hash ,但这确实打破了一些分离主干试图为您创建的。更好的选择是调用router.navigate(..) .见 http://backbonejs.org/#Router-navigate

关于backbone.js - Backbone - 从 View 函数更新 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10537947/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com