gpt4 book ai didi

AngularJS:ngRoute 不工作

转载 作者:行者123 更新时间:2023-12-01 07:00:18 32 4
gpt4 key购买 nike

我想让这个简单的路由工作,但无法弄清楚问题出在哪里。

这是 HTML:

<html lang="en" ng-app="app">
.
.
.
<a href="#voip">
<div class="col-lg-3 service">
<img src="assets/img/voip.svg"/>
<h4 ng-bind-html="content.home.voip_header"></h4>
<p ng-bind-html="content.home.voip_txt"></p>
</div>
</a>

<section id="view">
<div ng-view></div>
</section>


这是路由:

var app = angular.module('app',[
'ngRoute',
'ngSanitize'
]);
app.config(['$routeProvider',function($routeProvider){
$routeProvider
.when('/voip',{
templateUrl:'assets/templates/voip.html'
});
}]);

如果我如下指定“否则”,则加载模板。我想也许我在我的 href 属性中使用了错误的语法,但我四处看了看,似乎应该是这样。

      .otherwise({
redirectTo:'/voip'
})

另一件事是,如果我听 $routeChangeSuccess ,事件已触发,但 View 未加载。

有任何想法吗?

最佳答案

这是正确的,因为您使用的是 angular 1.6,并且默认哈希前缀发生了更改:

Due to aa077e8, the default hash-prefix used for $location hash-bang URLs has changed from the empty string ('') to the bang ('!'). If your application does not use HTML5 mode or is being run on browsers that do not support HTML5 mode, and you have not specified your own hash-prefix then client side URLs will now contain a ! prefix. For example, rather than mydomain.com/#/a/b/c the URL will become mydomain.com/#!/a/b/c.

If you actually want to have no hash-prefix, then you can restore the previous behavior by adding a configuration block to you application:

appModule.config(['$locationProvider', function($locationProvider) {
$locationProvider.hashPrefix(''); }]); Source



所以你有一些选择:

1.设置HTML5mode为真
$locationProvider.html5Mode(true);

并在 html 头中的 html set base 中:
<base href="/">

最后更改 <a ng-href="#voip">
<a ng-href="voip">

2.使用1.6方式
更改 <a ng-href="#voip">

<a ng-href="#!voip">
3. 回到 1.5 的旧行为 - 手动设置哈希前缀
app.config(['$locationProvider', function($locationProvider) {
$locationProvider.hashPrefix('');
}]);

关于AngularJS:ngRoute 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41655534/

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