javascript - 如何在点击时显示 Angular UI Bootstrap 日期选择器?

标签 javascript angularjs angular-bootstrap

我有一个使用完整日历的 Angular 应用程序。我有一个 Full Calendar custom button当用户点击时,应该打开一个 Angular Bootstrap Datepicker .我目前正在切换 CSS 可见性,但出于某种原因,除非我调整窗口大小,否则日期选择器不会显示(单击按钮后)。

我的模板:

<div id="cal-go-to-date" ng-style="goToDate.style">
  <div uib-datepicker ng-model="goToDate.dt" class="well well-sm" datepicker-options="goToDate.options"></div>
</div>

我的 Angular Controller :

$scope.uiConfig = {
  calendar: {
    // Other configuration
    header: {
      center: 'title'
    },
    customButtons: {
      goToDate: {
        text: 'go to date',
        click: function(event) {
          $scope.goToDate.style.visibility = 'visible';
        }
      }
    },
    // Other configuration
  }
};

$scope.goToDate = {
    dt: new Date(),
    options: {
      datepickerMode: 'month',
      minMode: 'month'
    },
    style: {
      'position': 'absolute',
      'top': '224px',
      'left': '76px',
      'min-height': '290px',
      'z-index': '99999',
      'visibility': 'hidden'
    }
  };

我正在调用 $scope.goToDate.style.visibility = 'visible'; 但这不起作用,除非我调整窗口大小。我该怎么做才能切换选择器的可见性?

最佳答案

尝试用 $applyAsync 结束通话喜欢:

$scope.$applyAsync(function(){ $scope.goToDate.style.visibility = 'visible'; });

因为看起来这发生在 angularjs 范围之外。

关于javascript - 如何在点击时显示 Angular UI Bootstrap 日期选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47789137/

相关文章:

javascript - 使用 Angular 使 <i> 标签可点击

javascript - 使用 Angular 创建一个简单的指令

javascript - 检测 HTML5 音频元素文件未找到错误

javascript - 获取 slider 以更新 HTML Canvas

javascript - 条件评估时间(Javascript)

angularjs - Angular bootstrap typeahead 不适用于 Angular 1.3.0

javascript - Angular ui.bootstrap.timepicker 落后 1 小时

c# - 如何在 Javascript 中序列化一个对象,然后在 asp.net 中反序列化它?

javascript - 仅在 IE10 上加载页面时,AngularJS 表单字段脏且无效

css - 小型设备上的 Bootstrap 表单工具提示和弹出窗口