Si j'active PushState dans le routeur de réseau principal, dois-je utiliser return false sur tous les liens ou le réseau principal gère-t-il cela automatiquement? Existe-t-il des exemples, la partie html et la partie script?
Réponses
Trop de publicités?C'est le modèle Tim Branyen utilise dans son passe-partout:
initializeRouter: function () {
Backbone.history.start({ pushState: true });
$(document).on('click', 'a:not([data-bypass])', function (evt) {
var href = $(this).attr('href');
var protocol = this.protocol + '//';
if (href.slice(protocol.length) !== protocol) {
evt.preventDefault();
app.router.navigate(href, true);
}
});
}
En utilisant cela, plutôt qu'individuellement faire preventDefault sur les liens, vous laisser le routeur de la poignée par défaut et faire des exceptions en ayant un data-bypass
d'attribut. Dans mon expérience, il fonctionne bien comme un modèle. Je ne sais pas du tout, de grands exemples autour, mais l'essayer vous-même ne devrait pas être trop dur. Épine dorsale de la beauté réside dans sa simplicité ;)
mynameistechno
Points
742