javascript - 前端应用程序的 Angular 路由

标签 javascript angularjs rest

我知道这是一个非常基本的问题,但似乎无法将所有内容都正确连接起来 - 我正在尝试使用 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;
}

我的 Angular 路线设置如下:

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 从未被选取。那么应该在哪里定义它呢?

如果需要,我很乐意添加更多细节和代码。谢谢!

最佳答案

尝试向您的 href 添加哈希。

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

如果您不想在网址中使用哈希值,则必须在路由设置中设置 html5 模式。

$locationProvider.html5Mode(true);

关于javascript - 前端应用程序的 Angular 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26263079/

相关文章:

c# - ASP.NET MVC 中的简单图形计算器,如 MS Windows 计算器

javascript - 限制 Div 内的最大元素 - FIFO 流数据

javascript - 无法将图像放到 Amazon S3 上

javascript - 使用js代码重定位文本

javascript - 带有 JSON 文件的 Express 框架中的 PUG 多次迭代

javascript - 尝试制作 NVD3 图表时出现 `a.map is not a function` 错误

javascript - ionic 框架 animate.css slideInUp 和 SlideOutUp 动画不工作

java - REST - 下载用户列表

java - 如何在 REST API 中以编程方式使用文件发布多部分/表单数据

rest - Firebase 规则 query.equalTo 在 REST 上总是返回 "Permission denied"