如何在angularjs中分隔路线

时间:2015-08-23 15:34:14

标签: javascript angularjs

所以我创建了一个像这样的简单app.js

var app = angular.module('app', ['ngRoute', 'ngResource']);


app.config(function ($routeProvider) {

  $routeProvider

      .when('/', {
        templateUrl: 'html/home.html',

      });


});

但是当我创建一个单独的文件routes.js

app.config(function ($routeProvider) {

    $routeProvider
    .when('/', {
        templateUrl: 'html/home.html',

});


});

主页未显示。我仔细检查了一切,并将routes.js添加到索引页面。

但它给了我这个错误:未捕获的ReferenceError:app未定义。 但我不知道为什么?该应用程序不是匿名函数。

这是我的索引页

<!DOCTYPE html>
<html ng-app="app">
<head>

    <link rel="stylesheet" href="css/bootstrap.min.css">

    <script type="text/javascript" src="https://code.angularjs.org/1.4.4/angular.js"></script>
    <script type="text/javascript" src="https://code.angularjs.org/1.4.4/angular-resource.js"></script>
    <script type="text/javascript" src="https://code.angularjs.org/1.4.4/angular-route.js"></script>
    <script type="text/javascript" src="routes.js"></script>
    <script type="text/javascript" src="app.js"></script>

</head>
<body>

<div ng-view></div>

</body>
</html>

1 个答案:

答案 0 :(得分:3)

由于您在app中使用routes.js变量,因此需要在创建此变量的app.js之后加载此文件:

<script type="text/javascript" src="app.js"></script>
<script type="text/javascript" src="routes.js"></script>

或者,您可以在单独的模块中设置路由,并将这些模块用作主模块的依赖项:

var app = angular.module('app', ['ngRoute', 'ngResource', 'main', 'admin']);

然后例如main-moudle.js

angular.module('main', []).config(function ($routeProvider) {
    $routeProvider
    .when('/', {
        templateUrl: 'html/home.html',
});