我想知道连接SF2路线的最灵活的解决方案是什么?一个包含路由的JS var。 对于静态路由,我没有任何问题,但是当我想用参数连接URL时,我没有找到任何解决方案(没有硬编码)。
如果我编辑routing.yml文件,更改时的动态网址
,该怎么办?我正在使用var url = "domain.com/path/to/url/with/" + token + "/and/" + name
进行生成但不灵活。
我知道twig生成的网址是服务器端等...
任何解决方案?
前:
JS
var route = {
home : "{{ path("home") }}",
custom_route : "{{ path("my_custom_route") }}"
}
Routing.yml
my_custom_route:
pattern: /path/to/url/with/{token}/and/{name}
defaults: { _controller: "SupboxCloudBundle:Public:file" }
答案 0 :(得分:1)
我想你可以试试FOSJSRoutingBundle。
答案 1 :(得分:0)
嗯,这取决于你想要达到的结果。你是在某种JS应用程序中这样做的吗?
如果是我,我会在DOM中渲染路径或路由参数。我不会在JS中渲染任何东西,我会把JS代码抽象化。
例如:
<div data-custom="{{ path("my_custom_route") }}"></div>
<div data-home="{{ path('home') }}"
或
<a href="{{ path("my_custom_route") }}" data-route="home">whatever</a>
然后你可以在需要时从JS中获取你的路线(从第一个例子开始):
var route = {
home: $('div[data-home]').data('home'),
custom_route: $('div[data-custom]').data('custom')
}
这有点乱,因为我只是想向你展示一个概念。但是,您的实际实施将取决于您尝试实现的实际结果。
如果您在下面评论更具体的意图,我会为您提供更好的解决方案。