今天在开发时候,需要用到Angularjs1.4.6获取url参数,网上查了一下,有部分文章提到用$location来获取。大致方法如下
var app = angular.module('myApp', []); -- 很正常,做angularjs必须加写
app.config(['$locationProvider', function ($locationProvider) {
$locationProvider.html5Mode(true);
}]); -- 这段就是用来让$location可以获取到url的
app.controller('formCtrl', ['$scope', '$location', function ($scope, $location) {
alert($location.search().id); -- 这段就是用来获取url参数中id值
}]);
网上能找到的,基本就是这个套路。
按理来说,应该是好了。但是,你执行后就会发现,报错,报错,无限报错。而且报的angularjs的错误,你根本不会知道是为什么。
你再想知道为什么就能难了。为啥?因为我现在这个时候用angularjs的人就不多,能有教程的就更加少了。根本不要说这种坑爹的问题。
更加让我不得不得吐槽的是,为什么这些大神在提供这些解决方案时,漏说了一个很重要的东西。以至于,前面的代码,写了也白写,对看的人来说,报错就是无用
不废话,想让代码执行不报错,需要添加
<base href="/" />
这句添加到你这个页面的<head>头里。如果你是内容页就添加的模板页的<head>头里
这样就好了。希望后面的人不要在采坑了。
And 我自己也记录一下。
PS.希望看到的人,觉得很有用,就点个赞吧。