Javascript Backbone.js&;handlebar.js创建相对URL
在flask中,为了创建url,我在模板(Jinja2)中使用Javascript Backbone.js&;handlebar.js创建相对URL,javascript,backbone.js,handlebars.js,Javascript,Backbone.js,Handlebars.js,在flask中,为了创建url,我在模板(Jinja2)中使用{{url\u for('login')}},它返回与url相关联的名称login(例如/auth/login/)。如何在handlebar.js和Backbone.js中执行此操作?它已经实施了吗 我想要达到的目标: {{{urlfor}}loginRoute{{/urlfor}} 为了让这一点得到回报: /auth/login 我的路线: routes: { '': 'indexRoute', 'auth/logi
{{url\u for('login')}}
,它返回与url相关联的名称login
(例如/auth/login/
)。如何在handlebar.js和Backbone.js中执行此操作?它已经实施了吗
我想要达到的目标:
{{{urlfor}}loginRoute{{/urlfor}}
为了让这一点得到回报:
/auth/login
我的路线:
routes: {
'': 'indexRoute',
'auth/login': 'loginRoute'
}
我搞不懂你为什么要这么做。您所要做的就是创建一个帮助器,用于查找并返回某个对象的键的名称,该对象包含一些值: 助手应该足够简单:
Handlebars.registerHelper('urlfor', function (value) {
for (var key in routes) {
if (routes.hasOwnProperty(key) && routes[key] === value) {
return key;
}
}
return null;
});
(当然,这假设助手可以访问其词法范围内的路由
。)
您可以通过以下方式在模板中使用此帮助器:
<script id="Template" type="text/template">
<p>The URL for loginRoute is {{urlfor 'loginRoute'}}</p>
</script>
我搞不懂你为什么要这么做。您所要做的就是创建一个帮助器,用于查找并返回某个对象的键的名称,该对象包含一些值: 助手应该足够简单:
Handlebars.registerHelper('urlfor', function (value) {
for (var key in routes) {
if (routes.hasOwnProperty(key) && routes[key] === value) {
return key;
}
}
return null;
});
(当然,这假设助手可以访问其词法范围内的路由
。)
您可以通过以下方式在模板中使用此帮助器:
<script id="Template" type="text/template">
<p>The URL for loginRoute is {{urlfor 'loginRoute'}}</p>
</script>
非常感谢您的回复!仅供参考,如果我改变路线,我就不必更新所有URL。非常感谢您的回复!仅供参考,如果我更改了路由,就不必更新所有URL。