AngularJS ng if和DOM编译
我在我的页面上使用datepicker控件,如果依赖于特定的下拉值,则通过ng呈现该控件 我面临的问题是,在渲染时,datepicker输入不是DOM的一部分,因此稍后当我更改dropdown的值时,datepicker控件不起作用 如果我使用ng show,我会在验证中遇到问题 有什么建议吗AngularJS ng if和DOM编译,angularjs,angular-ng-if,Angularjs,Angular Ng If,我在我的页面上使用datepicker控件,如果依赖于特定的下拉值,则通过ng呈现该控件 我面临的问题是,在渲染时,datepicker输入不是DOM的一部分,因此稍后当我更改dropdown的值时,datepicker控件不起作用 如果我使用ng show,我会在验证中遇到问题 有什么建议吗 谢谢。使用ng show/ng hide而不是ng if,因为ng if指令基于表达式删除或重新创建DOM树的一部分。如果分配给ng If的表达式的计算结果为假值,则该元素将从DOM中删除,否则该元素的克
谢谢。使用
ng show/ng hide
而不是ng if
,因为ng if
指令基于表达式删除或重新创建DOM树的一部分。如果分配给ng If
的表达式的计算结果为假值,则该元素将从DOM中删除,否则该元素的克隆将重新插入DOM
更多细节。请参阅此链接:在切换ng if变量后尝试“$scope.apply()”。如果是ng显示/隐藏,我必须手动处理验证,对吗?@AliHassan Nope<代码>ng显示如果,也可以作为
ng工作。您只需将您在ng if
表达式中提到的表达式放入。谢谢Ramesh,让我看一下。值得添加的是,ng if还创建了一个新的作用域,它可能有其缺点。@AliHassanng show
与ng if
不同。主要区别在于,第一种方法只使用cssdisplay:none
隐藏元素,而第二种方法从DOM中删除元素。这意味着ng show将保留验证错误,因为ngModelController仍然可用。您能在plnkr重新创建您的代码吗?您使用哪种日期选择器?还是自制的?你试过使用ControllerAs语法吗?