Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Backbone.js&;handlebar.js创建相对URL_Javascript_Backbone.js_Handlebars.js - Fatal编程技术网

Javascript Backbone.js&;handlebar.js创建相对URL

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

在flask中,为了创建url,我在模板(Jinja2)中使用
{{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。