添加 ui.bootstrap 后 Ng 视图未显示
Ng-view not showing after adding ui.bootstrap
我已将 ui.bootstrap
添加到我的控制器:
angular.module('myApp', ['ui.bootstrap']).controller('ClientController', function($scope, $uibModal, ClientService) {});
我也已将 bootstrap-tpls
添加到我的 index.html
文件中。
在 index.html 内,有带按钮的导航栏。单击时,它应该显示 .html
与隐藏在 <div ng-view></div>
.
中的上述控制器相关
然而,当点击时,它什么都不做 - 不显示任何 html 页面。此外,它不显示与另一个控制器相关的 html 页面,而不是 ClientController
。
删除 ['ui.bootstrap']
并单独留下 angular.module('myApp')
会使 ng-view
可见但抛出(如预期,我假设)错误:
"Unknown provider: $uibModalProvider <- $uibModal <- ClientController".
为什么ng-view
不是运行ui.bootstrap
设置在table的模块中?
编辑:
导航栏:
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">App</a>
</div>
<ul class="nav navbar-nav">
<li class="active"><a href="#/">Main</a></li>
<li><a href="#/client">Client</a></li>
<li><a href="#/admin">Admin</a></li>
</ul>
</div>
</nav>
<div style="
margin-bottom: 30%;
margin-right: 20%;
margin-left: 20%;
margin-top: 10%;"
ng-view></div>
app.js:
'use strict';
var app = angular.module("myApp", ['ngRoute']);
app.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when("/client", {
templateUrl : "client",
controller : "ClientController as cCtrl"
})
.when("/admin", {
templateUrl : "admin",
controller : "AdminController as aCtrl"
})
}]);
编辑 2:
将 'ui.bootstrap' 移动到 app.js 并在创建控制器时使用应用程序变量未能解决问题 - 存在错误:
Unknown provider: $uibModalProvider <- $uibModal <- ClientController
现在代码如下所示:
app.js:
var app = angular.module("myApp", ['ngRoute', 'ui.bootstrap']);
客户端控制器:
app.controller('ClientController', function($scope, $uibModal, ClientService) {})
编辑 3:
脚本标签:
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.7/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.7/angular-route.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.11.0/ui-bootstrap.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.11.0/ui-bootstrap-tpls.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="static/js/app.js"></script>
<script src="static/js/controller/AdminCtrl.js"></script>
<script src="static/js/service/AdminService.js"></script>
<script src="static/js/controller/ClientCtrl.js"></script>
<script src="static/js/service/ClientService.js"></script>
<link rel="stylesheet" href="static/css/styles.css">
<meta charset="UTF-8">
</head>
让你的index.jsp像这样
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.7/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.7/angular-route.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/2.5.0/ui-bootstrap-tpls.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="static/js/app.js"></script>
<script src="static/js/controller/AdminCtrl.js"></script>
<script src="static/js/service/AdminService.js"></script>
<script src="static/js/controller/ClientCtrl.js"></script>
<script src="static/js/service/ClientService.js"></script>
<link rel="stylesheet" href="static/css/styles.css">
<meta charset="UTF-8">
</head>
我已将 ui.bootstrap
添加到我的控制器:
angular.module('myApp', ['ui.bootstrap']).controller('ClientController', function($scope, $uibModal, ClientService) {});
我也已将 bootstrap-tpls
添加到我的 index.html
文件中。
在 index.html 内,有带按钮的导航栏。单击时,它应该显示 .html
与隐藏在 <div ng-view></div>
.
然而,当点击时,它什么都不做 - 不显示任何 html 页面。此外,它不显示与另一个控制器相关的 html 页面,而不是 ClientController
。
删除 ['ui.bootstrap']
并单独留下 angular.module('myApp')
会使 ng-view
可见但抛出(如预期,我假设)错误:
"Unknown provider: $uibModalProvider <- $uibModal <- ClientController".
为什么ng-view
不是运行ui.bootstrap
设置在table的模块中?
编辑:
导航栏:
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">App</a>
</div>
<ul class="nav navbar-nav">
<li class="active"><a href="#/">Main</a></li>
<li><a href="#/client">Client</a></li>
<li><a href="#/admin">Admin</a></li>
</ul>
</div>
</nav>
<div style="
margin-bottom: 30%;
margin-right: 20%;
margin-left: 20%;
margin-top: 10%;"
ng-view></div>
app.js:
'use strict';
var app = angular.module("myApp", ['ngRoute']);
app.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when("/client", {
templateUrl : "client",
controller : "ClientController as cCtrl"
})
.when("/admin", {
templateUrl : "admin",
controller : "AdminController as aCtrl"
})
}]);
编辑 2:
将 'ui.bootstrap' 移动到 app.js 并在创建控制器时使用应用程序变量未能解决问题 - 存在错误:
Unknown provider: $uibModalProvider <- $uibModal <- ClientController
现在代码如下所示:
app.js:
var app = angular.module("myApp", ['ngRoute', 'ui.bootstrap']);
客户端控制器:
app.controller('ClientController', function($scope, $uibModal, ClientService) {})
编辑 3:
脚本标签:
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.4/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.7/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.7/angular-route.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.11.0/ui-bootstrap.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.11.0/ui-bootstrap-tpls.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="static/js/app.js"></script>
<script src="static/js/controller/AdminCtrl.js"></script>
<script src="static/js/service/AdminService.js"></script>
<script src="static/js/controller/ClientCtrl.js"></script>
<script src="static/js/service/ClientService.js"></script>
<link rel="stylesheet" href="static/css/styles.css">
<meta charset="UTF-8">
</head>
让你的index.jsp像这样
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.7/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.7/angular-route.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/2.5.0/ui-bootstrap-tpls.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="static/js/app.js"></script>
<script src="static/js/controller/AdminCtrl.js"></script>
<script src="static/js/service/AdminService.js"></script>
<script src="static/js/controller/ClientCtrl.js"></script>
<script src="static/js/service/ClientService.js"></script>
<link rel="stylesheet" href="static/css/styles.css">
<meta charset="UTF-8">
</head>