Comment puis-je passer de la chaîne de requête à backbone.js routage
Je suis en utilisant Backbone.js et jQuery mobile. jQuery-mobile de routage est désactivé et je suis en utilisant la lib uniquement pour l'INTERFACE utilisateur. J'ai tout de travail, à l'exception de la sélection de transition de page. J'ai besoin de passer à la page de la transition ("tranche", "fade", "glisser vers le bas') pour le routeur de la colonne vertébrale en raison de la transition est variable base sur laquelle l'utilisateur vient de.
J'ai pensé à une manière très moche de le faire, afin de les transmettre via l'url:
class App.Routers.Foods extends Backbone.Router
routes:
'': 'index'
':transition': 'index'
'foods/new': 'new'
'foods/new/:transition': 'new'
initialize: ->
@collection = new App.Collections.Foods()
@collection.fetch()
index: (transition)->
view = new App.Views.FoodIndex(collection: @collection)
App.changePage(view, transition)
new: (transition)->
view = new App.Views.FoodNew(collection: @collection)
App.changePage(view, transition)
Voici le lien html pour la transition par défaut:
<a href="#" data-icon="back" class="ui-btn-left">Back</a>
Voici le lien html pour la transition fondu:
<a href="#fade" data-icon="back" class="ui-btn-left">Back</a>
À l'aide de la chaîne de requête, c'est à dire /de la nourriture/de nouveau?transition= "fade" est certainement mieux, mais je ne sais pas comment définir l'épine dorsale de routage à utiliser des variables chaîne de requête.
Comment dois-je faire cela?
Est-il une façon plus élégante de gérer mon problème, c'est à dire de passer la variable non à l'aide de l'url?
OriginalL'auteur PreslavLe | 2012-04-01
Vous devez vous connecter pour publier un commentaire.
Vous aurez à analyser manuellement le paramètre de l'URL à l'intérieur du routeur fonctions.
La fonction JS pour analyser la requête params.
Vous devrez convertir le JS fonction de CS, mais vous obtenez l'idée.
unescape
en 2012? Je voudrais vous recommandons de laisserescape
etunescape
dans la poubelle de l'histoire,encodeURIComponent
etdecodeURIComponent
sont généralement ce que vous souhaitez utiliser.Le est un problème. Les routes ne pas correspondre à l'url contenant les chaînes de requête. Une expression régulière doit être utilisé pour définir des itinéraires qui permettent de chaîne de requête.
J'ai trouvé ce squelette plugin qui fait exactement ce dont j'ai besoin! github.com/jhudson8/backbone-query-parameters
OriginalL'auteur abraham