今天在開發時候,需要用到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.希望看到的人,覺得很有用,就點個贊吧。