【发布时间】:2017-11-01 07:25:20
【问题描述】:
我正在 Angular 中设置一个项目,并且想要配置一些路由。我正在尝试通过“ngRoute”来实现这一目标。然而,'$routeProvider' 并没有显示 'templateUrl' 的内容,但是它加载了控制器就好了。
routes.js
app.config(function($routeProvider){
$routeProvider
.when("/",{template:"<div>I am here</div>",controller:"dashboardController"})
.when("/userList",{templateUrl:"/views/userList.html",controller:"userListController"})
.when("/createUser",{templateUrl:"/views/createUser.html",controller:"createUserController"})
.otherwise({template:"Error 404 : Page not found ! "});
});
app.js
var app = angular.module('updatedAngularProject',['ngRoute']);
views/dashboard.html
<div>
<h1 style="color:white;">fgsdgsdgsdgsdgsdgsgasdgdggasdfshfghfg</h1>
</div>
views/createUser.html
<h1>Create User</h1>
views/userList.html
<h1>User List</h1>
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<title>Welcome To | Bootstrap Based Admin Template - Material Design</title>
<!-- Favicon-->
<link rel="icon" href="favicon.ico" type="image/x-icon">
<!-- Google Fonts -->
<link href="https://fonts.googleapis.com/css?family=Roboto:400,700&subset=latin,cyrillic-ext" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet" type="text/css">
<!-- Bootstrap Core Css -->
<link href="resources/plugins/bootstrap/css/bootstrap.css" rel="stylesheet">
<!-- Waves Effect Css -->
<link href="resources/plugins/node-waves/waves.css" rel="stylesheet" />
<!-- Animation Css -->
<link href="resources/plugins/animate-css/animate.css" rel="stylesheet" />
<!-- Morris Chart Css-->
<link href="resources/plugins/morrisjs/morris.css" rel="stylesheet" />
<!-- Custom Css -->
<link href="resources/css/style.css" rel="stylesheet">
<!-- AdminBSB Themes. You can choose a theme from css/themes instead of get all themes -->
<link href="resources/css/themes/all-themes.css" rel="stylesheet" />
<!-- Angular -->
<script src="node_modules/angular/angular.js"></script>
<script src="node_modules/angular-route/angular-route.js"></script>
<script src="app.js"></script>
<script src="services/mainService.js"></script>
<script src="services/userListService.js"></script>
<script src="services/createUserService.js"></script>
<script src="services/dashboardService.js"></script>
<script src="controllers/mainController.js"></script>
<script src="controllers/userListController.js"></script>
<script src="controllers/dashboardController.js"></script>
<script src="controllers/createUserController.js"></script>
<script src="routes.js"></script>
</head>
<body ng-app="updatedAngularProject">
<div class="menu">
<ul class="list">
<li class="header">MAIN NAVIGATION</li>
<li class="active">
<a ng-href="#/">
<i class="material-icons">home</i>
<span>Home</span>
</a>
</li>
<li>
<a ng-href="#/{{'createUser'}}">
<i class="material-icons">text_fields</i>
<span>Typography</span>
</a>
</li>
<li>
<a ng-href="#/{{'userList'}}">
<i class="material-icons">layers</i>
<span>Helper Classes</span>
</a>
</li>
</div>
<ng-view></ng-view>
</body>
</html>
所有 3 个控制器都工作正常,因为它们中的“console.logs”可以完美打印。
我的文件夹结构是 routes.js、index.html、app.js 和 views(folder) 处于同一级别,而所有 3 个视图都在 views 文件夹内。
谢谢。
PS:它现在工作正常。事实上,它之前也运行得很好。只是数据被隐藏在侧边栏和导航栏后面。 无论如何,谢谢。
【问题讨论】:
-
@LuninRoman 不。不起作用。
-
请扩展您的问题。为我们提供完整的 index.html 文件。
-
如我所见,您忘记在模板中声明您的应用,
<body ng-app="updatedAngularProject"> -
@LuninRoman 就在那里。我只是忘了在这里复制它。它的行为仍然相同。
标签: javascript angularjs angular-ui-router