AngularJS:ngRoute,否则不起作用

标签 angularjs ngroute

我有一个非常奇怪的错误,我已经设置了路线和 Controller 。现在我只有一个没有错误的空白页面?

index.html;

<!DOCTYPE html>
<html ng-app="RekenTalent" lang="nl">
    <head>
        <title>Rekentalent.nl: Ben jij een talent in Rekenen?</title>
        <!-- Stylesheets -->
        <link rel="stylesheet" type="text/css" href="/app/front/assets/stylesheets/style.css">
        <!-- AngularJS -->
        <script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.16/angular.min.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.16/angular-route.min.js"></script>
        <script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.16/angular-animate.min.js"></script>
        <!-- Controllers -->
        <script src="/app/front/controllers/controller.js"></script>
        <!-- Router -->
        <script src="/app/front/router.js"></script>
    </head>

    <body ng-view></body>
</html

>

Controller .js:
/**
*  RekenTalent
*
* Copyright 2014 - Rekentalent.nl
*/
var RekenTalent = angular.module('RekenTalentControllers', []);

RekenTalent.controller('rekenCtrl', ['$scope', function($scope){

}]);

路由器.js:
var RekenTalent = angular.module('RekenTalent', [
    'ngRoute', 'RekenTalentControllers'
]);

RekenTalent.config(['$routeProvider', function($routeProvider) {
    $routeProvider.
    when('/index', {
        templateUrl: '/templates/index.html',
        controller: 'rekenCtrl'
    }).
    otherwise({
        redirect: '/index'
    });
}]);

/templates/index.html 只是说“嗨”。有谁知道为什么我得到一个空白页?它应该将我重定向到/index.html 并且/index.html 应该使用/templates/index.html 作为模板。什么问题和解决方法?

更新:

当我去/index 它工作,所以否则参数不起作用,为什么不呢?

最佳答案

redirectredirectTo
最好使用 home.template 来避免所有此类问题,我的意思是考虑:

您有一个 index.html包含整个包含的脚本,如 angular、jquery 等,并且在 body 标签中有 ng-view , 好的?

现在,如果您有任何模板,例如欢迎或任何用于索引的模板,请将该模板写在 home.html 中。 , 好的?像这样:

索引.html:

<body ng-app="yourapp">
   <div ng-view>
   </div>
</body>

主页.html
  <div>
     Welcome, user. This is index.
  </div>  

您的应用配置:
yourapp.config(function($routeProvider) {
   $routeProvider
      .when('/', {
         templateUrl: 'partials/home.html',
         controller: 'homeCtrl'
      })
      .otherwise({redirectTo:'/'});
}

将所有模板放在一个 partials 文件夹中是一个很好的做法,其中的父文件夹包含 index.html 像这样
  root 
     yourAppFolder
       1-Assets
          Css
          Js

       2-Partials
          home.html
          login.html

       3-index.html

关于AngularJS:ngRoute,否则不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24228596/

相关文章:

javascript - ng-repeat 具有 "checked"属性的多个单选按钮组——仅检查最后一个组

angularjs - 访问嵌套重复之外的 Angular 过滤器的结果

javascript - Juniper SSL VPN 中的 Angular Web 应用程序路由

javascript - AngularJS 路由加载错误

javascript - AngularJS路由到静态文件

javascript - 全屏打开时显示/隐藏按钮

javascript - 更新 $interval 函数中的 $scope

angularjs - 在服务器端渲染初始 Angular ng-view 并从那里获取

javascript - Angular - 在 ng-view 中附加并执行脚本,然后再附加其中的模板内容

angularjs - Grails和Angular:ng-repeat循环内的GSP插件标签