javascript - AngularJS 与 Bootstrap 导航栏一起使用

标签 javascript html angularjs twitter-bootstrap angular-ui-router

我正在尝试创建一个单页网站,该网站根据 Bootstrap 导航栏上单击的按钮加载 View 。但是,页面内容不显示。谁能告诉我出了什么问题吗?

好的,我有这个index.html:

  <!DOCTYPE html>

<!-- define angular app -->
<html ng-app="scotchApp">

<head>
  <!-- SCROLLS -->
  <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="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular.min.js"></script>
  <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular-route.js"></script>
  <script src="script.js"></script>
  <script src="controllers/userdetailsController.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
  <script src="utils/basicUtils.js"></script>
</head>

<!-- define angular controller -->
<body ng-controller="mainController">

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

    <ul class="nav navbar-nav navbar-right">
      <li><a href="#"><i class="fa fa-home"></i> User</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 id="main">

  <!-- angular templating -->
  <!-- this is where content will be injected -->
  <div ng-view></div>

</div>



</body>

</html>

这个脚本.js:

// create the module and name it scotchApp
    var scotchApp = angular.module('hyprPortal', ['ngRoute']);

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

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

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

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

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

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

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

还有这个 home.html:

<!doctype html>
<html >
<head>
    <title>User Details</title>
    <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
    <script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular-route.min.js"></script>
    <script src = "https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
    <script src = "../controllers/userdetailsController.js"></script>
    <script src = "../utils/basicUtils.js"></script>
</head>
<body>
<div ng-app="hyprPortal" ng-controller="UserRegCtrl">
    <!--<form ng-submit = "add(USERID)">
        User ID:<br>
        <input type = "text" name = "USERID" ng-model = "USERID"><br>
        <input type = "submit" value = "Submit">
    </form>-->
    <table border="1">
        <tr>
            <td>{{returnName}}</td>
            <td>{{AID}}</td>
        </tr>
    </table>
</div>
</body>
</html>

最佳答案

您的代码几乎没有问题。

1:home.html不需要包含所有的head、body、parts。 2:模块名称应该是scothApp,并且只能在index.html中以ng-app =“scothApp”的形式出现 3:你的路线已经告诉Home.html的 Controller 是mainController,所以你不需要在home.html中使用ng-controller=“UserRegCtrl”添加另一个 Controller 。

根据您的代码检查这个骗子。

https://plnkr.co/edit/Bvo3LkVmGNGZWxF4M66m?p=preview

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

关于javascript - AngularJS 与 Bootstrap 导航栏一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37791016/

相关文章:

javascript - 未捕获的类型错误 : toUpperCase is not a function when binding option dynamically to data-tokens bootstrap

javascript - javascript 代码应该始终加载在 html 文档的头部吗?

javascript - 在脚本中访问 Angular Controller

javascript - AngularJS 中的动态路由问题

javascript - AngularJS - 从 'ng-model' 获取值然后过滤

javascript - ace-editor 设置新 session

javascript - 找不到模块 'parseuri'

html - hr 清除 vs div 清除。哪个更好?

html - 使用动态调整 CSS 时禁用带有 CSS 的图像映射

javascript - 对未定义结果执行的方法(来自 promise 解析的方法)