daterangepicker 在 ng-if 中不起作用

daterangepicker not working inside ng-if

我在表单域中使用 daterangepicker 来显示日期选择器。 如您所见,这在底部的字段中工作正常,但在 ng-if.

中包含的字段中却没有

http://plnkr.co/edit/WogKyUDNAVAXQTm3lOJR?p=preview

这不是 daterangepicker 特定的,对于 ng-if 中的任何 jQuery 函数都是如此。

其中一个解决方案涉及使用 ng-show,但在这种情况下需要 ng-if

找到解决方案:

  1. 将 jQuery 函数包装在 $scope 函数中。
  2. ng-init调用$scope函数。

    $scope.initializeDatepicker = 函数(){ $('.datepicker').daterangepicker(); };

    ng-init="initializeDatepicker()";

使用 ngDoCheck() angular life hooks,它在每次更改时调用检查..在 ngOnchanges 和 Ngoninit 之后