gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 11:41:16 25 4
gpt4 key购买 nike

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

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com