gpt4 book ai didi

javascript - 链接不适用于 Angular ui-router

转载 作者:行者123 更新时间:2023-11-28 11:21:32 30 4
gpt4 key购买 nike

所以我已经设置了 ui-router,几分钟前它就开始工作了,它会显示包含从另一个 html 文件加载的内容的模板,但没有一个链接可以工作。现在什么都不起作用:模板显示了,但内容没有被拉入,并且所有链接都不起作用。

Ctrl.js

var site = angular.module('site', ['ui.router']);

site.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('page', {
url: '/page',
templateUrl: 'page.html',
})
.state('about', {
url: '/about',
templateUrl: 'about.html',
});
$urlRouterProvider.otherwise('/page');
})

Index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js"></script>
<script src="https://angular-ui.github.io/ui-router/release/angular-ui-router.js"></script>
<script src="scripts/ctrl.js"></script>
<link rel="stylesheet" href="style/main.css">
</head>
<body ng-app="site">

<nav class="navbar navbar-default navbar-fixed-top" id="navigate">
<div class="container">

<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navSmall">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse" id="navSmall">
<ul class="nav navbar-nav navbar-right">
<li><a href="#/about.html">about</a></li>
</ul>
</div>


</div>
</nav>

<div class="jumbotron text-center container-fluid">
<div ui-view></div>


</div>


<footer class="footer">
<div id="note" class="container">
<div class="row">
<div class="col-sm-8">
-----Footer Content-----
</div>
<div class="col-sm-4">
</div>
</div>
</div>
</footer>

</body>
</html>

About.html(应该加载,但没有加载)

  <div ui-view="about">
<div class="container-fluid bg-about">
<div class="container-content">
<div class="row">

</div>
</div>
</div>
</div>

哇,你们都快了!感谢您的建议。因此更新:将其更改为 ahref="#/about" 有助于我现在可以转到链接,但仍然没有内容显示。控制台出现错误:

    Error: Access to restricted URI denied
fg/<@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:103:167
n@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:98:460
m/g<@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:95:489
e/<@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:130:409
uf/this.$get</m.prototype.$eval@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:145:103
uf/this.$get</m.prototype.$digest@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:142:165
uf/this.$get</m.prototype.$apply@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:145:399
Ac/c/<@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:21:115
h/<.invoke@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:41:374
Ac/c@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:21:36
Ac@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:21:332
fe@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:20:156
@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.min.js:315:135
g/</j@https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js:2:29566
g/</k<@https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js:2:29882
angular.min.js:117:399

最佳答案

您的州网址是 /about,而不是 /about.html

无论如何,请使用ui-sref directive ,这就是它的用途

<a ui-sref="about">about</a>

您只需传入州名称(以及任何参数,请参阅文档),它就会考虑任何 $locationProvider.html5mode 配置为您创建正确的 URL。

<小时/>

如果您通过 file:///some/path/to/index.html 加载应用程序,AJAX 会请求您的模板(即 about.html )可能不起作用。您应该使用 HTTP server为您本地的发展。

看看(甚至只是克隆作为基础)angular-seed project 。它为首次 Angular 开发提供了一个极好的起点。

关于javascript - 链接不适用于 Angular ui-router,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40099150/

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