在我的应用中我{m} reading an URL parameter我希望传递给我的Angular控制器,然后加载JSON文件。
例如index.html?id=1234
应该使控制器加载data/1234.json
我当前的代码会导致进样器错误:
var id = getUrlParam('id')
app.controller('myController', function ($scope, $http, id) {
$http.get("data/"+id+".json").then(function(res) {
$scope.posts = res.data
})
});
我做错了什么?
答案 0 :(得分:2)
$routeParams
就是您所需要的。
Basicaly获取$routeParams.id
其他信息 - https://docs.angularjs.org/api/ngRoute/service/$routeParams
答案 1 :(得分:-1)
试试这个:
var getParameterByName = (function(a) {
if (a == "") return {};
var b = {};
for (var i = 0; i < a.length; ++i)
{
var p=a[i].split('=', 2);
if (p.length == 1)
b[p[0]] = "";
else
b[p[0]] = decodeURIComponent(p[1].replace(/\+/g, " "));
}
return b;
})(window.location.search.substr(1).split('&'))
var id = getParameterByName["id"];