-1

我正在使用 Chrome 并设置了节点服务器,该服务器正在侦听端口 8080 并提供所有列出的文件。Angular app.js 假设显示StuffView.html(简单文本)的内容。

索引.html:

<!doctype html>
<html ng-app="app">
    <head>
        <meta charset="utf-8">
        <title>angular</title>
        <link rel="icon" href="">
        <link rel='stylesheet' href="css/style.css">
        <script src="libs/angular/angular.js"></script>
        <script src="libs/angular-route/angular-route.js"></script>
        <script src="app.js"></script>
        <script src="js/controllers/StuffController.js"></script>
    </head>
    <body>
        <div>
            <a ng-href = "#/stuff"> show stuff </a>
            <ng-view></ng-view>
        </div>
    </body>
</html>

应用程序.js:

angular
.module( 'app', [ 'ngRoute' ] )
.config( function( $routeProvider ) {

    $routeProvider.when( '/stuff', {
        templateUrl : "views/StuffView.html",
        controller : "stuffController"
    } );

} );

StuffView.html:

<H1>Hello from Stuff View! {{hello}}</H1>

{{hello}}来自 stuffController :

angular
.module( 'app' )
.controller( 'stuffController', stuffController );

function stuffController( $scope ) {
    $scope.hello = 'Hello from stuffController! ';
}

当我单击链接时,浏览器中的地址更改为http://localhost:8080/#!#%2Fstuff并且没有显示任何内容。控制台中没有错误。我错过了什么?

4

2 回答 2

0

我认为您以错误的方式使用了 ng-href,请参阅 ng-href 的角度文档。

https://docs.angularjs.org/api/ng/directive/ngHref

您应该为 pathforstuff 创建一个名为 path 的变量,然后使用该变量,如下所示。

var pathforstuff="stuff";

<a ng-href="#/{{pathforstuff}}"/>Take Me Somewhere</a>
于 2017-01-16T12:10:39.473 回答
0

模块使用请参考此链接ngRoute不要在静态情况下使用“ng-href”目录,而是尝试:

<a href = "#/stuff"> show stuff </a>
于 2017-01-16T12:21:06.703 回答