我不清楚爲什麼這不起作用。我的代碼的其餘部分 - 無法使用基於URL的路由工作正常,我測試了所有。然而,當我嘗試在我的url(base.url/route /:param)中包含一個URL參數時,我的routeProvider的'.otherwise'元素正在觸發,而不是在routeProvider中指定的適當的控制器。使用URL參數時不會觸發控制器
這裏的代碼的相關位:
module.config
app.config(function($routeProvider){
//http://docs.angularjs.org/tutorial/step_07
$routeProvider
.when('/home',
{
templateUrl: 'app/partials/home.html',
controller: 'HomeController'
})
.when('/implementation-reference/:ref-scope',
{
templateUrl: 'app/partials/topic_tpl.html',
controller: 'ImplReference'
})
.when('/projects',
{
templateUrl: 'app/partials/project_list_tpl.html',
controller: 'Projects'
})
.when ('/site-help',
{
templateUrl: 'app/partials/site-help.html'
})
.otherwise(
{
templateUrl: 'app/partials/404.html'
})
});
module.controller
app.controller('ImplReference', function($scope, $routeParams) {
alert('hi');
});
會/執行基準/不管我拿到404頁。
任何想法,爲什麼我沒有看到我在控制器的開始放置的警報,也沒有看到控制檯中的任何錯誤?
我相信url應該是'#/ implementation-reference/whatever' – Chandermani
getAllTooicPosts是哪裏? – Sprottenwels
@Chandermani,爲什麼我需要添加散列?在瀏覽器中存在實際的URL,但是RouteProvider中的所有其他路由都可以在上面運行,它們不需要添加哈希。 – Max