原因: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"即可生效。