2016-11-10 3 views
0

アプリケーションが実行されているとき、getメソッドからパラメータが来たときにAngularJs 1.4でパラメータを取得する方法はありますか?例:http://www.myapp.com/whatever?param1=1234 私はちょうどここに私のapp.jsファイル内の意味:アプリケーションを実行するときにパラメータurl角度を取得する

var myApplication = angular.module('App', [ui.router,...]) 
     .run(function ($rootScope,$http,....){ 
      var param = // I wish to read the param here 
} 

可能ですされていない場合、どのように私はそれがコントローラを使用して入手できますか? (完璧に動作します:D): おかげで、あなたのルートをパラメータあなたがいない場合は、回避策がある

$rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) { 
console.log(toParams); 
} 

$ stateChangeStartを観察できることを受け入れるように構成されていた場合

+0

$ stateProviderを使用して、パラメータで状態を定義することができます。これをチェックしてください:https://scotch.io/tutorials/3-simple-tips-for-using-ui-router –

+0

ありがとう、私は$ locatio.search()を使って解決しました。 paramsを持つオブジェクトを返します。 –

答えて

0

おはよう、 $ location.search()を使用すると、paramenters.Thanksのオブジェクトが返されます。

0

つ1

によって
function getParamByName(name, url) { 
    if (!url) url = window.location.href; 
    name = name.replace(/[\[\]]/g, "\\$&"); 
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 
     results = regex.exec(url); 
    if (!results) return null; 
    if (!results[2]) return ''; 
    return decodeURIComponent(results[2].replace(/\+/g, " ")); 
} 

getParamByName('param1'); 

またはすべて

function getQueryParams(qs) { 
    qs = qs.split('+').join(' '); 
    var params = {}, 
     tokens, 
     re = /[?&]?([^=]+)=([^&]*)/g; 
    while (tokens = re.exec(qs)) { 
     params[decodeURIComponent(tokens[1])] = decodeURIComponent(tokens[2]); 
    } 
    return params; 
} 

console.log(getQueryParams(document.location.search)); 
関連する問題