2017-12-15 29 views
0

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이 정의되지를

나는 apologze에 대한 질문을하지만 나는 앵글과 JS 세계에 새로운 사람이다.

감사 $scope.date 객체 처음

답변

2

인스턴스화합니다. 예를 들어 :

$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) 
} 
+0

TNX, 그래서 기본 JS 문제를 .. 바보 무엇 : D – Fabio

+0

문제가 없습니다. JS 세상에서 배우십시오. – lzagkaretos