【问题标题】:Angular JS datepicker doesn't update modelAngular JS datepicker 不更新模型
【发布时间】:2016-07-22 08:50:21
【问题描述】:

我正在尝试使用日期范围过滤表格,但无法让模型更新,因此它不知道我选择的日期。

这是日期选择器弹出窗口的 HTML:

<label>From:</label> 
 <p class="input-group" style="width:200px">
   <input type="text" class="form-control" uib-datepicker-popup = "{{format}}" ng-model="dt" is-open="status.opened"
                                           min-date="minDate" max-date="maxDate" datepicker-options="dateOptions" date-disabled="disabled(date, mode)"
                                           ng-required="true" close-text="Close"/>
     <span class="input-group-btn">
          <button type="button" class="btn btn-default" ng-click="open($event)"><i class="glyphicon glyphicon-calendar"></i></button>
     </span>
 </p>

我的控制器中的 JS 代码:

(function ()
{
'use strict';

angular.module('aml-tech-dashboard.successful-emails').controller('datepickerController', function ($scope) {
    $scope.dt = '';
    $scope.status = {
        opened: false
    };

    $scope.format = "yyyy-MM-dd"
    $scope.minDate = new Date();
    $scope.dateOptions = {
        //formatYear: 'yy',
        startingDay: 1
    };

    $scope.open = function ($event) {
        $scope.status.opened = true;

    };

    });

})();

表:

<tr ng-repeat = 'file in files | startFrom: dt'>

【问题讨论】:

  • 嗨,安德烈亚。我注意到 $scope.dt 没有设置为 $scope.$watch 函数中的任何值
  • 嗨,我删除了它,我以前只是将它记录到我的控制台,看看当我选择不同的日期时它是否检测到变化。为 $scope.dt 赋值并没有改变任何东西

标签: javascript angularjs


【解决方案1】:

您的tr 元素错误。它应该是这样的:

<tr ng-repeat="file in files | startFrom: dt"></tr>

您在 uib-datepicker-popup 指令中也有错误。它应该是这样的:

uib-datepicker-popup="{{format}}" 

这是假设您在模块的其他地方定义了startFrom 过滤器,因为它不是内置的 Angular 过滤器。

【讨论】:

  • 谢谢,已更改,但仍未更新模型。我认为我的控制器有问题
  • 您是否在某处定义了startFrom 过滤器?
  • uib-datepicker-popup 指令只是我不擅长复制粘贴,哎呀。
  • 正如我所说,Angular 中没有内置 startFrom 过滤器,所以可能是它
  • 你是对的,我改变了它,它现在可以工作了。谢谢:)
【解决方案2】:

试试这个:

$scope.dt = new Date(); 

并确保在视图呈现时调用控制器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多