Javascript 赢得比赛';t显示Codecademy';s日历AngularJS作业

Javascript 赢得比赛';t显示Codecademy';s日历AngularJS作业,javascript,angularjs,calendar,Javascript,Angularjs,Calendar,这是我关于堆栈的第一个问题,所以我不确定展示赋值和代码的最佳方式,所以现在我将链接到它们 我正试图根据上面的作业显示事件,但无法找出我一生中的错误 我构建了服务并修改了控制器和视图页面,我认为它们应该在视图中显示事件,但我看到的只是一个未替换的表达式 我觉得我可能没有正确地检索数据并在view/html中访问它 有什么想法吗 Index.html js/controllers/DayController js/services/events.js 在下面的代码块中,将事件传递给函数时将其命名

这是我关于堆栈的第一个问题,所以我不确定展示赋值和代码的最佳方式,所以现在我将链接到它们

我正试图根据上面的作业显示事件,但无法找出我一生中的错误

我构建了服务并修改了控制器和视图页面,我认为它们应该在视图中显示事件,但我看到的只是一个未替换的表达式

我觉得我可能没有正确地检索数据并在view/html中访问它

有什么想法吗

Index.html
js/controllers/DayController
js/services/events.js
在下面的代码块中,将事件传递给函数时将其命名为$events

//app.controller('DayController', ['$scope', 'events', function($scope, $events) {
app.controller('DayController', ['$scope', 'events', function($scope, events) {
    events.success(function(data) {
        $scope.day = data;
    });  
}]);
这是我在复制项目时发现的唯一错误,假设您的实际项目已将角度和角度路由正确地拉入项目中(index.html中缺少这些路由)

编辑:要在视图中显示事件,需要以不同的方式设置ng repeat。当前,您在错误的变量前面有“day”。交换它,它应该能按预期工作。($scope.events未定义,但$scope.day.events是您在ng repeat中查找的列表。进入ng repeat后,数组$scope.day.events的各个元素将被引用为$scope.event)

{{day.date | date}

您需要在此处共享您的代码,这是复制您的问题的最低代码。请点击并更新。谢谢你的提示!嘿,你把这个修好了吗?我也有同样的问题。视图上的任何角度表达式都没有被评估,我不知道为什么。好的,我解决了我的问题。我忘记在工厂中返回http.get结果:)。这导致angularjs失败并计算表达式。啊,明白了,谢谢你指出这一点!我注意到调试消息,但不确定它是什么意思。但是,当我进行更改时,我看到的是日期,而不是其他内容。我想这可能与我如何在ng repeat下面的表达式中调用事件有关。我试着用“事件”和“日期”来交换,但没有用(这可能是显而易见的,因为某种原因,我在逃避)。知道吗?抱歉,我在查找控制器错误,但没有查看day.html。Ng重复的工作方式与您尝试使用它们的工作方式不同。我在编辑中发布了上面更正的day.html。啊,这很有意义!有趣的是,这个观点仍然没有为我展示这些事件。我使用的是Cloud9的IDE,所以稍后我会再次检查更改是否需要时间才能生效。
<h2 class="date">{{ day.date | date }}</h2>

<div class="event" ng-repeat="event in events">
  <a href="#/{{$index}}">
    <h3 class="name">{{ day.event.name }}</h3>
    <p><span class="from">{{ day.event.from }}</span> - <span class="to">{{ day.event.to }}</span></p>
  </a>
</div>
var app = angular.module('CalendarApp', ['ngRoute']);

app.config(function($routeProvider) {
    $routeProvider.
    when('/', {
        controller: 'DayController',
        templateUrl: 'views/day.html'
    }).
    otherwise({
        redirectTo: '/'
    });
});
app.controller('DayController', ['$scope', 'events', function($scope, $events) {
    events.success(function(data) {
        $scope.day = data;
    });  
}]);
app.factory('events', ['$http', function($http) {
  return $http.get('https://s3.amazonaws.com/codecademy-content/courses/ltp4/events-api/events.json')
            .success(function(data) {
              return data;
            })
            .error(function(err) {
              return err;
            });
}]);
//app.controller('DayController', ['$scope', 'events', function($scope, $events) {
app.controller('DayController', ['$scope', 'events', function($scope, events) {
    events.success(function(data) {
        $scope.day = data;
    });  
}]);
<h2 class="date">{{ day.date | date }}</h2>

<div class="event" ng-repeat="event in day.events">
  <a href="#/{{$index}}">
    <h3 class="name">{{ event.name }}</h3>
    <p><span class="from">{{ event.from }}</span> - <span class="to">{{ event.to }}</span></p>
  </a>
</div>