【发布时间】:2015-08-27 22:36:51
【问题描述】:
我有一个 Angular 应用程序,其中包含 2 个部分(一个用于登录,一个用于发布消息)。
那么为什么 Posts 可以工作,而 Login 不能呢?控制台没有给我任何东西。
Plunker:http://plnkr.co/edit/tPbHaUrn73wGUPsY8mqo?p=preview
Angular 应用:
angular.module('app', [
'ngRoute'
])
angular.module('app')
.config(function ($routeProvider) {
$routeProvider
.when('/', { controller: 'PostsCtrl', templateUrl: 'posts.html' })
.when('/login', { controller: 'LoginCtrl', templateURL: 'login.html' })
.otherwise({ redirectTo : '/' })
})
angular.module('app')
.controller('LoginCtrl', function ($scope, $http) {
console.log('LoginCtrl Triggered')
})
angular.module('app')
.controller('PostsCtrl', function ($scope, $http) {
console.log('PostsCtrl Triggered')
})
app.html
<!DOCTYPE html>
<html>
<head>
<title>Posts</title>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<link rel="stylesheet" href="/app.css">
</head>
<body ng-app="app">
<nav class="navbar navbar-default">
<div class="container">
<ul class="nav navbar-nav">
<li><a href="/#/">Posts</a></li>
<li><a href="/#/login">Login</a></li>
</ul>
</div>
</nav>
<div ng-view></div>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular-route.min.js"></script>
<script src="/app.js"></script>
</body>
</html>
登录 html 和帖子 html 分别正确显示,因此问题不存在。
【问题讨论】:
-
当您说它不适用于 loginctrl 时,是当您单击登录链接时,还是您希望该服务在 app.html 中工作?
-
当我点击登录时,它应该显示 login.html。相反,它什么也不做。控制台是空的。所以我想这可能是路由的问题,但是 Posts 也不应该工作。好困惑。
-
我将其简化并放入 plunker:plnkr.co/edit/tPbHaUrn73wGUPsY8mqo?p=preview
-
你到底为什么要在 StackOverflow 上发布丑陋的源代码?
-
您在登录路径
templateURL配置键中有错字。应该是templateUrl~ plnkr.co/edit/I8FjbDj9hMaJoGgvII6i?p=preview。如果您没有混淆问题中的代码会更容易查看
标签: angularjs angularjs-routing