Средство выбора даты кендо не обновляется после изменения k-ng-модели

У меня есть два средства выбора даты и один раскрывающийся список. Когда я выбираю раскрывающийся список, я хочу изменить указатели даты в зависимости от выбранного элемента, см. Мой код ниже.

$scope.toolbarOptions = {
                items: [{
                    template: "<label>From</label>"
                }, {
                    template: "<input kendo-date-picker k-ng-model='startDate'/>",
                    overflow: "never"
                }, {
                    template: "<label>To</label>"
                }, {
                    template: "<input kendo-date-picker k-ng-model='endDate'/>",
                    overflow: "never"
                }, {
                    template: "<label>Period</label>"
                }, {
                    template: "<select kendo-drop-down-list k-value-primitive='true' k-change='periodChanged' k-ng-model='selectedPeriod' k-data-source='periodDataSource' style='width:150px'/>",
                    overflow: "never"
                }]};


 $scope.periodChanged = function () {
            var value = $scope.selectedPeriod;
            var day = new Date(), year = day.getFullYear(), month = day.getMonth();
            switch (value) {
                case "Today":
                    $scope.startDate = day;
                    $scope.endDate = day;
                    return;
                case "This Week":
                    var first = day.getDate() - day.getDay();;
                    var last = first + 6;
                    $scope.startDate = new Date(day.setDate(first));
                    $scope.endDate = new Date(day.setDate(last));
                    return;
                case "This Month":
                    $scope.startDate = new Date(year, month, 1);
                    $scope.endDate = new Date(year, month + 1, 0);
                    return;
                case "This Year":
                    $scope.startDate = new Date(year, 0, 1, 23, 59, 59);
                    $scope.endDate = new Date(year + 1, 0, 0);
                    return;
                default:
                    return;
            }
        }

Но после изменения выбранного элемента средства выбора даты не изменятся напрямую. Когда я выбираю другой элемент, предыдущее назначенное значение отображается в устройстве выбора даты. Кто-нибудь может помочь?

1 ответ

Просто вызовите $scope.$ Digest() может помочь обновить DatePicker

Другие вопросы по тегам