2015-11-19 101 views
0

基本上,當我在瀏覽器中導航到http://localhost:9000時,我收到index.html頁面上的內容,但ng-view仍然完全是空的,儘管'/'指向了我的控制器/視圖。

在首次航行,角不添加/#/給我的網址,並$location.path()讀取一個空字符串。點擊任何鏈接後,例如,關於頁面,Angular將/#/about添加到我的網址中,並且頁面正常加載。但是,如果由於任何原因頁面被重新加載(我點擊重新加載或實時重新加載更新),那麼/#/about仍保留在url中,但ng-view是一個空元素。

的配置:

.config(function ($routeProvider) { 
    $routeProvider 
    .when('/', { 
     templateUrl: 'views/main.html', 
     controller: 'MainCtrl' 
    }) 
    .when('/about', { 
     templateUrl: 'views/about.html', 
     controller: 'AboutCtrl' 
    }) 
    .otherwise({ 
     redirectTo: '/' 
    }); 
}) 

我包含在應用腳本已添加到索引ngRoute

這個應用程序工作就好了之前。我嘗試了一下$locationProvider.html5Mode(),並且不喜歡結果,所以我對git HEAD進行了硬重置。之後,它在任何機器,任何瀏覽器上都無法正常工作。

我不知道可能是什麼原因造成的,也可能需要解決這個問題。開始嘗試任何在這一點上的作品。

編輯: StackOverflow設法刪除我的標題的一部分。 .-。

回答

0

經過大量的挖掘,其他人和試驗/錯誤後發現。

如果$scope.apply()被提前調用,它可以取消在頁面加載時觸發的消解。通過該方法使用$timeout解決了它。

0

我想你應該可以在你的app.run中調用$ location.path('/'),這樣一旦角度加載就可以導航。

+0

儘管_visually_會將'/#/'添加到url,但在重新加載或第一次導航後,視圖仍然不會顯示。 – NukesForKids