2017-07-14 6 views
0

URLからクエリのパラメータを取得するには、https://www.youtube.com/watch?v=Xnjw0SBKDM0に角度2を使用しますか?私はActivatedRouteメソッドからクエリパラメータを取得する方法を知っていますが、私は現在のルータルートではなく、文字列を渡すだけです。アドレスバーではなく、urlからの2つのクエリパラメータ

+0

"watch"パラメータの値を取得したいのですか? – Steveadoo

+0

はい、一般的に、5つのパラメータがあるとすれば、どのようにそれらのキー値ペアの辞書を取得できますか? –

+0

私はAngularがユーザー定義の文字列をparamsに解析するためのネイティブ機能を持っているとは思わない。 '?'、 '&'、 '= 'で手動でURLを分割する必要があるかもしれません。 – Kai

答えて

0

this answerをご覧ください。これはあなたが必要とする方法です。

function getJsonFromUrl(hashBased) { 
    var query; 
    if(hashBased) { 
    var pos = location.href.indexOf("?"); 
    if(pos==-1) return []; 
    query = location.href.substr(pos+1); 
    } else { 
    query = location.search.substr(1); 
    } 
    var result = {}; 
    query.split("&").forEach(function(part) { 
    if(!part) return; 
    part = part.split("+").join(" "); // replace every + with space, regexp-free version 
    var eq = part.indexOf("="); 
    var key = eq>-1 ? part.substr(0,eq) : part; 
    var val = eq>-1 ? decodeURIComponent(part.substr(eq+1)) : ""; 
    var from = key.indexOf("["); 
    if(from==-1) result[decodeURIComponent(key)] = val; 
    else { 
     var to = key.indexOf("]",from); 
     var index = decodeURIComponent(key.substring(from+1,to)); 
     key = decodeURIComponent(key.substring(0,from)); 
     if(!result[key]) result[key] = []; 
     if(!index) result[key].push(val); 
     else result[key][index] = val; 
    } 
    }); 
    return result; 
} 
+1

文字列からParamsを取得する必要があります。有効なルートではありません。 –

+0

ああ。本当に角度に特化したものではありません。私は私の答えを更新することができます。 – Steveadoo

+0

ありがとうございました –

関連する問題