2016-11-05 32 views
0

什么似乎是错误的,我没有得到任何错误,但在同一时间路由没有进展。 。angularjs路由不起作用没有发现错误

的index.html

<!DOCTYPE html> 
<html> 
<head> 
<title>My Angular App</title> 
<link rel="stylesheet" type="text/css" href="/myAngularApp/css/style.css"> 
<link rel="stylesheet" type="text/css" href="/myAngularApp/css/bootstrap/css/bootstrap.min.css"> 
<script type="text/javascript" src="/myAngularApp/css/angular/angular.min.js"></script> 
<script src="/myAngularApp/css/mainpage.js"></script> 
<script type="text/javascript" src="/myAngularApp/css/angular/angular-animate.min.js"></script> 
<script type="text/javascript" src="/myAngularApp/css/angular/angular-resource.min.js"></script> 
<script type="text/javascript" src="/myAngularApp/css/angular/angular-route.min.js"></script> 
<script type="text/javascript" src="/myAngularApp/css/bootstrap/ui-bootstrap-tpls-2.2.0.min.js"></script> 

</head> 
<body ng-app="myApp"> 

<h1> this is index.html </h1> 

<div ng-view></div> 

</body> 
</html> 

mainpage.js //在我的控制器是

var app = angular.module('myApp', ['ngRoute', 'ngAnimate', 'ngResource', 'ui.bootstrap']); 

app.config(function($routeProvider) { 
    $routeProvider 
    .when('/', { 
     templateUrl : 'index.html' 
    }) 
    .when('/home', { 
     templateUrl : 'homepage.html' 
    }) 
    .otherwise({ 
     templateUrl : 'index.html' 
    }); 

}); 

当我加载 '/' 在我的浏览器nothins正在发生同样以/ home我不知道在哪里我没有错误,因为我的控制台没有错误

回答

0

路线的模板应该是局部视图。这里index.html是单页面应用的根,这个页面不应该重新加载(除非你想销毁并重新启动应用)。尝试更改templateUrl for /到一个文件,只是有<h2> HELLO WORLD!</h2>和监视控制台(开发工具)与获取模板相关的任何404错误

+0

谢谢先生!有用 :) –

0

我认为问题在于您的JavaScript文件名。在索引中,您提到了mainpage.js,并在描述其homepage.js中。

编辑:好的。然后尝试安排文件列表像

<script type="text/javascript" src="/myAngularApp/css/angular/angular.min.js"></script> 
<script type="text/javascript" src="/myAngularApp/css/angular/angular-animate.min.js"></script> 
<script type="text/javascript" src="/myAngularApp/css/angular/angular-resource.min.js"></script> 
<script type="text/javascript" src="/myAngularApp/css/angular/angular-route.min.js"></script> 
<script type="text/javascript" src="/myAngularApp/css/bootstrap/ui-bootstrap-tpls-2.2.0.min.js"></script> 
<script src="/myAngularApp/css/mainpage.js"></script> 
+0

opsss对不起,打字错误,应该是mainpage.js我的不好 –

0

如由用户普里的答复中提到,文件名可以是问题。但是,这应该会在控制台上产生错误,并且根据您的说法,控制台上没有错误。

其他可能的原因可能是您导入文件的顺序。我一般序列我的文件这样 -

<head> 
 
    <!-- 1. External CSS Libraries likes bootstrap, jquery --> 
 
    
 
    <!-- 2. My Application specific CSS files --> 
 
    
 
    <!-- 3. External JS libraries like Angular, bootstrap, JQuery --> 
 
    
 
    <!-- 4. My Application specific JS files like my controllers, services, directives etc. 
 
</head>

同样的顺序在其中引入外部JS库也可能会导致问题。

+0

我试着做你建议先生,但问题是我每次加载'/'我总是得到这个'#/'? –

+0

与'/'对应的视图是否正确加载?角度js中的所有URL将默认为这样 - http:// yourHost:port /#/ yourRoute/anyPathParams –

+0

nope。每当我点击“本地主机/ myAngularApp /”我得到“本地主机/ myAngularApp /#/”,但index.html的内容是出现在浏览器 –