$ routeProvider不工作

时间:2015-11-25 11:39:15

标签: javascript html angularjs angular-routing

我正在尝试使用Angular.js教程。但我想我没有正确路由。我已正确地遵循文档,但是当我单击超链接时,angular不会路由到指定的html。请帮帮我。我是Angular的新手。提前谢谢。

这是我的index.html头

<head>
      <link rel="stylesheet" href="/js/bower_components/bootstrap/dist/css/bootstrap.css">
      <script src="/js/bower_components/jquery/dist/jquery.js"></script>
      <script src="/js/bower_components/bootstrap/dist/js/bootstrap.js"></script>
      <script src="/js/bower_components/angular/angular.js"></script>
      <script src="/js/bower_components/angular-route/angular-route.js"></script>
      <script src="/app.js"></script>
      <title>FSE</title>
</head>

我的app.js

var app = angular.module('StockExchange',["ngRoute"]);
app.config(function($routeProvider){
    $routeProvider.when("/",{
            templateUrl:'/views/login.html',
            controller: 'myctrl'
    });
});

app.controller('myctrl',function($scope){
    $scope.model= {
            msg:"Route Worked"
    }
});

和login.html

<h1>login</h1>

我的index.html中有一个元素,我在其中定义链接如下

<ul class="nav navbar-nav">
     <li><a href="#home">Home</a></li>
     <li><a href="#login">Login</a></li>
     <li><a href="#signup">Sign Up</a></li>
</ul>

2 个答案:

答案 0 :(得分:1)

app.config(function($routeProvider){
  $routeProvider.when("/",{ //you defined your route with "/"
        templateUrl:'/views/index.html',
        controller: 'myctrl'
   }).when("/login",{ //you defined your route with "login"
        templateUrl:'/views/login.html',
        controller: 'myctrl'
   }).when("/signup",{ //you defined your route with "signup"
        templateUrl:'/views/signup.html',
        controller: 'myctrl'
   });
});

所以你的href应该调用

<ul class="nav navbar-nav">
     <li><a href="#/">Home</a></li>
     <li><a href="#/login">Login</a></li>
     <li><a href="#/signup">Sign Up</a></li>
</ul>

答案 1 :(得分:0)

这是一个愚蠢的错误。我发现我失踪了

<ng-view></ng-view>
路由呈现html的

指令。