2014-04-04 73 views
0

我想從angularjs中的URL讀取多個參數?我能夠將第一個參數target設置爲34,但第二個參數未定義。如何在angularjs中從url讀取多個參數值?

+0

我想從angularjs中的URL讀取多個參數?我嘗試了以下url http:// localhost:48716 /#?target = 34#?testvalue = 95 $ rootScope。$ watch('location.search()',function(){ $ rootScope.target =( $ location.search())。target; $ rootScope.testvalue =($ location.search()).testvalue; },true); 我能夠將第一個參數target設置爲34,但第二個參數未定義。 – user1673394

+0

將此添加到問題中。 – raina77ow

回答

0

編輯

您未使用#,?等標準的方式和angularJS顯然不會得到你的URL參數的含義。只能有一個#和?在URL中。只要瞭解位置哈希,查詢字符串等,然後代碼可能正常工作。

可能是URL應該是localhost:48716 /#TARGET = 34 &測試值= 95

老答案

你可以使用$ routeParams服務來獲取URL參數。然後在你的代碼,你可以簡單地尋找$routeParams.target$routeParams.testvalue得到,如果你要監視的路線改變的參數值

此外,你應該訂閱routeChangeStart事件而不是看「location.search()」。看看How to watch for a route change in AngularJS?

+0

你好,我嘗試了下面的代碼,但我得到的值都是未定義的。 var App = angular.module('myapp',[]); App.run(函數($ rootScope,$ location,$ routeParams){ alert($ routeParams.target); alert($ routeParams.testvalue); }); – user1673394

+0

可能需要一段時間才能知道路由。使用超時。 angular.module('myapp',[]); (函數($ rootScope,$ location,$ routeParams,$ timeout){$ timeout(function(){alert($ routeParams.target); alert($ routeParams.testvalue);},1000})); –

+0

我按照你的建議嘗試過,但仍面臨同樣的問題,這兩個值都是未定義的。 – user1673394