Kha*_*lid 4 javascript query-string backbone.js backbone-routing
我正在使用Backbone和Marionette.
我有一个链接<a>标记,我传递的参数很少,如何使用Backbone在其他页面中提取这些值?
<a href="http://localhost.com:8080/help/?name=matth&age=25&email=matt@gmail.com">View Details</a>
Run Code Online (Sandbox Code Playgroud)
地址栏网址:
http://localhost.com:8080/help/?name=matth&age=25&email=matt@gmail.com 44
Run Code Online (Sandbox Code Playgroud)
使用Php,这很简单:
$Url = $_GET['state']."#".$_GET['city'];
Run Code Online (Sandbox Code Playgroud)
如何在我的Backbone应用程序中实现它?
如果路由定义如下:
'help/:name&:age&:email' : 'help'
Run Code Online (Sandbox Code Playgroud)
然后你可以通过在方法的签名中定义它们(在骨干路由器中)来访问help函数中的那些参数,
help: function(name, age, email) {
// do whatever you want with the params
}
Run Code Online (Sandbox Code Playgroud)
在你的情况下,这将给你这样的参数:
name="XXX" age="XXX"
Run Code Online (Sandbox Code Playgroud)
所以正确的路由将是
'help/?(name=:name)(&age=:age)(&email=:email)' : 'help'
Run Code Online (Sandbox Code Playgroud)
括号中的一部分是可选的.
路由可以包含参数部分,
:param
请注意,订单很重要,以下网址不会触发路由回调.注意email和ageparams放置.
help/?name=test&email=test%40example.com&age=6
Run Code Online (Sandbox Code Playgroud)
无论params的数量及其排序如何触发路由,请查看如何在路由函数中解析查询字符串,但这并不总是有效.