Angularfire路由无法正常工作

时间:2017-08-26 08:40:37

标签: javascript angularjs firebase angularfire

目前正在做一个教程。我没有在谷歌Chrome控制台内部出现任何错误,因为我的代码与作者之一差不多是1:1,我猜错误来自角度语法的变化(教程有点过时我想) 。

的index.html:

        <!DOCTYPE html>
    <html ng-app="app">
    <head>
      <title> Expense App </title>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
      <link rel="stylesheet" href="/styles.css">






    </head>
    <body>
        <ng-view></ng-view>
      <!-- AngularJS -->
      <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.min.js"></script>

    <!-- Firebase -->
      <script src="https://www.gstatic.com/firebasejs/3.6.6/firebase.js"></script>

    <!-- AngularFire -->
      <script src="https://cdn.firebase.com/libs/angularfire/2.3.0/angularfire.min.js"></script>

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


    </body>

    </html>

app.js:

var app = angular.module('app', ['ng-route', 'firebase']);

app.config(function($routeProvider){
  $routeProvider.when('/home', {

    template: '<home></home>'

  })
  .otherwise('/home')
});

/home/home.js:

angular.module('app').component('home', {
  templateUrl: '/home/home.html'
});

/home/home.html

<h1> Expenses App </h1>

非常直截了当。问题是home.html根本没有呈现。如果我手动输入localhost:3000 / home / home.html我可以访问它。所以我猜它是路由的问题。有任何想法吗?

2 个答案:

答案 0 :(得分:0)

替换ngRoute

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

答案 1 :(得分:0)

请参阅angularjs doc about routing

<script src="/node_modules/angular/angular.js"></script>
<script src="/node_modules/@angular/router/angular1/angular_1_router.js"></script>
<script src="/app/app.js"></script>

在您的情况下,您需要先添加角度路径库。

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.1/angular-route.min.js"></script>

然后,我建议删除另一个库用于测试目的。 (仅供参考,您的上述代码不包含任何firebase实现)。 更简单的代码,更容易调试。

如果您想使用组件路由器,请使用下一行。

var app = angular.module('app', ['ngComponentRouter'])

有关代码示例,请查看http://embed.plnkr.co/OGjYQo8LGmMmFr41hxr3/