ui-router状态控制器在范围内具有未定义的ng-model

时间:2017-12-15 16:58:21

标签: javascript angularjs angular-ui-router

我正在尝试通过注入了ui-router的控制器来操作一些输入日期,但我不清楚在这种情况下范围应该如何工作。

我附上了我的示例场景:

模板html

<div class="date-filter-gallery">
  <input type="date" ng-model="date.start">
  <input type="date" ng-model="date.end">
</div>

UI-路由器

.state('stationGallery', {
  url: '/station-gallery/{stationId}',
  templateUrl: 'src/templates/station-detail.template.html',
  controller: 'StationGalleryController as sg',
  resolve: {
    images: ['$stateParams', 'WeatherStationsService', function ($stateParams, WeatherStationsService) {
      return WeatherStationsService.getImagesByStation($stateParams.stationId);
    }]
  }
});

控制器

StationGalleryController.$inject = ['$scope'];
  function StationGalleryController($scope) {
  let sg = this;
  $scope.date.start = new Date(2017,1,1);
  $scope.date.end = new Date(2017,2,1);
}

$ scope.date未定义

我为这个问题道歉,但我是角度和JS世界的新手。

由于

1 个答案:

答案 0 :(得分:2)

首先实例化$scope.date个对象。例如:

$scope.date = {};
$scope.date.start = new Date(2017,1,1);
$scope.date.end = new Date(2017,2,1);

或者如果您愿意:

$scope.date = {
    'start': new Date(2017,1,1),
    'end': new Date(2017,2,1)
}