我只是做設置此:角JS - 檢查當前的URL路徑相匹配(動態網址參數)
app.config(['$routeProvider',function($routeProvider) {
$routeProvider
.when('/asd/:id/:slug',{
templateUrl:'views/home/index.html',
controller:'Home',
publicAccess:true,
sessionAccess:true
});
:ID和:蛞蝓是動態PARAMS。
現在我想check if current url matches
這條路線(/asd/:id/:slug
)
例如網址:asd/5/it-is-a-slug
這是最簡單的方法是什麼?
我tryed這一點:
$rootScope.$on('$routeChangeStart', function(){
console.log($route.current);
});
但有時在切換頁面的路線
您可以將$ route服務注入到您的控制器並檢查'$ route.current'以獲取當前路由。不需要映射網址。 –
你的意思是在'Home'控制器中,因爲可以將多條路線映射到它?正如@KhanhTO所說,注入'$ route'並檢查'$ route.current.params'或其他什麼。雖然我認爲你的代碼應該更關心你是否有參數,而不是URL是否匹配。如果具有不同含義的完全不同的URL會觸及相同的控制器,則應該使用不同的控制器。 –
@EmersonFarrugia我實際上無法理解爲什麼它在每個routeChangeStart上不能正常工作,似乎有時$ route.current不可用 – sbaaaang