AngularJS of-if 和 DOM 编译

AngularJS ng-if and DOM Compilation

我在我的页面上使用日期选择器控件,它是通过 ng-if 呈现的,具体取决于特定的下拉值。

我面临的问题是因为在渲染时,日期选择器输入不是 DOM 的一部分,所以稍后当我更改下拉列表的值时,日期选择器控件不起作用。

如果我使用 ng-show,我会在验证中遇到问题。

有什么建议吗?

谢谢。

使用 ng-show/ng-hide 而不是 ng-if, 因为 ng-if 指令删除或重新创建了 DOM 树的一部分基于一个表达式。如果分配给 ng-if 的表达式的计算结果为假值,则该元素将从 DOM 中删除,否则该元素的克隆将重新插入到 DOM.

更多详情。请参考这个 link : what is the difference between ng-if and ng-show/ng-hide

切换 ng-if 变量后尝试“$scope.apply()”。