2014-10-08 34 views
0

我知道這是一個非常基本的問題,但似乎無法讓所有的東西都變得合適 - 我試圖使用Angular/Sinatra應用程序來處理前端路由。我的應用程序沒有打到正確的頁面,並且我爲什麼會感到不知所措,因爲如果您不使用數據庫,在繞過路線工作的路上遇到一些麻煩。前端應用程序的角度路由

在我的主頁,「display.html」,我有一些文字,然後用HREF中一組D3圖表:

<a href="/app/{{appname}}"> 
    <div ng-cloak class="nvd3-bullet-chart2" id="chart" data="subsetVals" showXAxis="true" showYAxis="true"> 
    </div> 
</a> 

的圖表是通過一個NVD3功能爲每個循環,而填充比使用ng-repeat(不知道如何處理與異步性有關的問題)。

在我displayCtrl,我定義$ scope.appname這樣的:

$scope.appname = '' 

var getGraphs = function(dataset){ 
    var stats = { 
     app: dataset[0].App 
    } 
    $scope.appname = stats.app; 
    $scope.appname = $routeParams.appname; 
} 

我有我的設置是這樣的角度路線:

app.config(function($routeProvider) { 
    $routeProvider 

    // route for the display page 
     .when('/', { 
      templateUrl: '/views/display.html', 
     }) 
     .when('/app/:appname', { 
      templateUrl: 'views/details.html', 
     }); 
}); 

當我點擊的href的圖表,我收到一個錯誤消息,表示在'/ app /'找不到該頁面,這對我來說表明:appname永遠不會被拾取。那麼應該在哪裏定義?

如果需要,我很高興添加更多的細節和代碼。謝謝!

回答

1

嘗試在您的href中添加散列。

<a href="#/app/{{appname}}"> 

如果你不想在你的網址中使用哈希,你將不得不在你的路由設置中設置html5mode。

$locationProvider.html5Mode(true);