簡體   English   中英

創建路徑助手,將哈希傳遞給把手助手或連接字符串

[英]create path helper, pass hash to handlebars helper or concatenate string

我一直在尋找一種在把手中創建路徑助手的方法,它可以為特定頁面生成一個URL。 我需要能夠傳遞路線名稱和生成路線所需的參數。 首先,我希望將哈希值傳遞給幫助程序...但這是不可能的,因為您無法在處理程序模板中創建它。 現在語法是這樣的:

{{{path 'some_path_name' 'foo=bar' }}} 

這似乎工作,但現在我有一個問題,我不能連接模板內的字符串。 知道最好的方法是什么? 我現在看到的唯一選擇是我在我的javascript代碼中創建了參數...但我真的不喜歡這個,我不能在模板中指定它。

我有一個映射某處將some_path_name映射到/ path-name /:foo ...所以我希望路徑助手創建/ path-name / bar。

親切的問候,

大安

此代碼應該可以使用,但您必須添加一些額外的驗證。

var routes = {
    'some_path_name': '/path-name/:foo'
};

Handlebars.registerHelper('path', function (routeName, options) {
    var route,
        params;

    if (!routes.hasOwnProperty(routeName)) return;

    route = routes[routeName];
    params = options.hash;

    for (var param in params) {
        var value = params[param];
        route = route.replace(':'+ param, value);
    }

    return route;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM