Backbone アプリでタブをクリックすると、ルートが期待どおりに機能し、適切なビューがレンダリングされます。
switchView: function(event) {
event.preventDefault();
// Get clicked tab
var target = $(event.currentTarget);
// Tab is already selected - do nothing
if (target.parent().hasClass('selected')) {
return;
}
// First remove selected status on all tabs
this.$el.find('li').removeClass('selected');
// Then select the clicked tab
target.parent().addClass('selected');
// Switch to new view
var fragment = target.attr('href').split('#');
Backbone.history.navigate(fragment[1], true);
}
私が疑問に思っているのは、アドレスバーに一致する URL を書き込むときに、どうすれば同じ機能を引き起こすことができるのでしょうか? たとえばmydomain.com/app.html#section/about
、「About」タブが強調表示されます。たぶん私は何かを見落としているのかもしれません。おそらく上記は狂気であり、ベストプラクティスではありません。
アプリのモックアップを添付する: