AngularJs中使用ng-if后ng-model无效

原因:ng-if指令会创建一个子级作用域,因此,如果在ng-if指令中添加了元素,并向元素属性增加 ng-model指令,那么ng-model指令对应的作用域属于子级作用域,而并非控制器注入的$scope作用域对象。

解决方案:

hack1:使用ng-show代替ng-if(该方法简单有效)

hack2:   在绑定值时添加$parent标识

比如:原来是$scope.canClcik=true;   ng-if="canClick"

$scope创建一个子对象obj,如$scope.obj.canClcik=true;   ng-if="obj.canClick"即可生效。

posted @ 2017-09-18 17:51  心中有一海  阅读(736)  评论(0编辑  收藏  举报