【问题标题】:Module error with ngRoute in Angular appAngular 应用程序中 ngRoute 的模块错误
【发布时间】:2017-03-01 14:35:03
【问题描述】:

我正在尝试为应用设置一项功能,该功能将根据 URL 中的 id 参数显示来自 JSON 的给定 id 的内容。我在控制台 Module 'app' is not available! You either misspelled the module name or forgot to load it. 中收到错误 URL 应该是 url-to-site/app/{id#},并且通过在 JSON 中输入对象的 id#,视图应该更改为对应于该 id 的详细信息。

我目前有这个作为我的设置:

JS:

angular.module('app', ['ngRoute'])
.config(function ($routeProvider, $locationProvider) {
    $routeProvider.when('/:id', {
        templateUrl: 'index.html'
        controller: 'appController'
    });
})

.controller('appController', function($routeParams,$scope, $http) {
  console.log($routeParams.id);
  $scope.indexToShow = 0;
    $http.get("shows.json")
      .then(function(response) {
        // console.log(response);
        $scope.results = response.data;
      });
      $scope.changeNext = function(){
        $scope.indexToShow = ($scope.indexToShow + 1) % $scope.results.length;
      };
      $scope.changePrevious = function(){
        if($scope.indexToShow != 0){
           $scope.indexToShow = ($scope.indexToShow - 1) % $scope.results.length;
        }
      };
});

HTML

<div ng-app="app">
 <div ng-controller="appController">
  ...template code
 </div>
</div>

JSON:

[
  {
    "id": 1,
    "title": "Title 1",
    "count": 54,
    "image_location": "images/image-name.jpg"
  }
]

【问题讨论】:

  • 在您的 html 中添加 ng-view 指令以加载路由模板。

标签: angularjs json ngroute


【解决方案1】:

我完全不确定,但问题可能是因为您忘记了路线配置中的“,”。

 $routeProvider.when('/:id', {
    templateUrl: 'index.html' ,// <-- HERE
    controller: 'appController'
});

【讨论】:

  • 修复了错误,但我仍然无法通过url-to-site/app/id#的ID访问数据
  • 我试过$routeProvider.when('/:id', {});,但是没有效果。
  • 我的意思是如果你尝试使用不带“app”的url url-to-site/#id
猜你喜欢
  • 1970-01-01
  • 2017-12-07
  • 2019-11-04
  • 2017-02-28
  • 1970-01-01
  • 2020-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多