Arp*_*mar 5 angularjs angular-directive angular-filters
我有一个div
<div class="error-text" ng-if="customerIdLength > customerIdMaxLength" ng-init="error='yes'" >Error presented</div>
这里ng-if工作正常。
但
根据ng-init值,我禁用了这样的按钮:
<button class="btn btn-success" type="submit" ng-click="submitNumber();" ng-disabled="error=='yes'">Submit</button>
Run Code Online (Sandbox Code Playgroud)
这是行不通的。如果我把它放在ng-init其他没有的元素上,ng-if那么它就可以正常工作。那么背后的原因是什么呢?
ng-if和ng-show之间的区别在于,ng-if实际上从 DOM 中删除附加到它的 html 元素,导致你的ng-init表达式不被执行。
只需将其替换为ng-show即可解决问题
<div class="error-text" ng-show="customerIdLength" ng-init="error='yes'">Error presented</div>
Run Code Online (Sandbox Code Playgroud)