javascript - 基本的 AngularJs 无法路由到不同的页面

标签 javascript jquery html css angularjs

不是编程新手。但我是 angularjs 的新手。所以这可能是一个愚蠢的问题..

我一直在学习教程...但由于某种原因页面路由不起作用。

我在顶部有一个导航栏,主页、关于、联系人等。典型的东西。

我希望能够点击“关于”并转到同一页面上的 about.html 文件。

什么都没有出现! index.html 位于部分文件中。请注意,我是 angular 的新手,我已按照说明进行操作。我的服务器工作正常。导航栏看起来不错,但链接不正确。

这是 index.html 的代码。谢谢

<!-- define angular app -->
<html ng-app="financeApp">
<head>
  <!-- SCROLLS -->
  <!-- load bootstrap and fontawesome via CDN -->
  <link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" />
   <link rel="stylesheet" href="//netdna.bootstrapcdn.com/font-awesome/4.0.0/css/font-awesome.css"       />

  <!-- SPELLS -->

  <script src="js/angular.min.js"></script>
  <script src="js/angular-route.js"></script>
  <script src="js/angular-route.min.js"></script>
  <script src="script.js"></script>


</head>

 <!-- HEADER AND NAVBAR -->
    <header>

    <div class="wrap">
        <!-- logo -->
        <a href="#!"><img class="logo" src="img/logo.png" /></a>

        <nav class="navbar navbar-default">
        <div class="container">
            <div class="navbar-header">
                <a class="navbar-brand" href="/"></a>
            </div>

            <ul class="nav navbar-nav navbar-right">
                <li><a href="#"><i class="fa fa-home"></i> Home</a></li>
                <li><a href="#about"><i class="fa fa-shield"></i> About</a></li>
                <li><a href="#contact"><i class="fa fa-comment"></i> Contact</a></li>
            </ul>
        </div>
        </nav>
    </header>
















<!-- define angular controller -->

<div class="main" ng-controller="mainController">








<!-- MAIN CONTENT AND INJECTED VIEWS -->
<div id="main">


    <div ng-view>        </div>

    <!-- angular templating -->
    <!-- this is where content will be injected -->
</div>
</body>
</html>

这是 script.js 的代码

 // create the module and name it financeApp
    // also include ngRoute for all our routing needs
 var financeApp = angular.module('financeApp', ['ngRoute']);

 // configure our routes
 financeApp.config(function($routeProvider) {
    $routeProvider

        // route for the home page
        .when('#', {
            templateUrl : 'partials/index.html',
            controller  : 'mainController'
        })

        // route for the about page
        .when('#about', {
            templateUrl : 'partials/about.html',
            controller  : 'aboutController'
        })

        // route for the contact page
        .when('#contact', {
            templateUrl : 'partials/contact.html',
            controller  : 'contactController'
        });
 });

 // create the controller and inject Angular's $scope
 financeApp.controller('mainController', function($scope) {
    // create a message to display in our view
    $scope.message = 'Everyone come and see how good I look!';
 });

 financeApp.controller('aboutController', function($scope) {
    $scope.message = 'Look! I am an about page.';
 });

financeApp.controller('contactController', function($scope) {
    $scope.message = 'Contact us! JK. This is just a demo.';
});

最佳答案

以下应该适合您。 你需要创建 partials/main.html

INDEX.HTML

<!DOCTYPE HTML>

<html ng-app="financeApp">
  <head>
    <meta charset="utf-8">
    <!-- CSS -->
    <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" />
    <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/font-awesome/4.0.0/css/font-awesome.css" />
  </head>

  <!-- HEADER AND NAVBAR -->
  <header>
    <div class="wrap">
      <!-- logo -->

      <!-- <a href="#!"><img class="logo" src="img/logo.png" /></a> -->

      <nav class="navbar navbar-default">
        <div class="container">
            <div class="navbar-header">
                <a class="navbar-brand" href="#/"></a>
            </div>

            <ul class="nav navbar-nav navbar-right">
                <li><a href="#/"><i class="fa fa-home"></i> Home</a></li>
                <li><a href="#/about"><i class="fa fa-shield"></i> About</a></li>
                <li><a href="#/contact"><i class="fa fa-comment"></i> Contact</a></li>
            </ul>
        </div>
      </nav>
    </div>
  </header>

  <body>
    <div class="main" ng-controller="mainController">
      <!-- MAIN CONTENT AND INJECTED VIEWS -->
      <div id="main">
          <div ng-view></div>
          <!-- angular templating -->
          <!-- this is where content will be injected -->
      </div>
    </div>

    <!-- App JS -->
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular-route.min.js"></script>
    <script src="js/script.js"></script>
  </body>
</html>

SCRIPT.JS

  var financeApp = angular.module('financeApp', ['ngRoute']);

 // configure our routes
 financeApp.config(function($routeProvider) {
    $routeProvider
        // route for the home page
        .when('/', {
            templateUrl : 'partials/main.html',
            controller  : 'mainController'
        })

        // route for the about page
        .when('/about', {
            templateUrl : 'partials/about.html',
            controller  : 'aboutController'
        })

        // route for the contact page
        .when('/contact', {
            templateUrl : 'partials/contact.html',
            controller  : 'contactController'
        })
        .otherwise({
            redirectTo: '/'
      })
 });

 // create the controller and inject Angular's $scope
 financeApp.controller('mainController', function($scope) {
    // create a message to display in our view
    $scope.message = 'Everyone come and see how good I look!';
 });

 financeApp.controller('aboutController', function($scope) {
    $scope.message = 'Look! I am an about page.';
 });

financeApp.controller('contactController', function($scope) {
    $scope.message = 'Contact us! JK. This is just a demo.';
});

关于javascript - 基本的 AngularJs 无法路由到不同的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27505245/

相关文章:

javascript - 如何检测 DOM 可拖动对象和 FabricJS 形状之间的碰撞

javascript - 如何将CSS添加到动态创建的表

javascript - Fabricjs:用图像图案填充 svg

php - 可编辑,PHP + MySQL

javascript - 只需单击标签即可双击

javascript - 从网络服务器下载任何文件类型

javascript - jQuery 插件类类型名称

javascript - TinyMCE 中的 gecko_spellcheck 问题

jquery - 在jquery中获取选中复选框的值和图像

android - 如何让移动网页在所有设备上显示相同