我正在尝试通过注入了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世界的新手。
由于
答案 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)
}