Angularjs 为什么复选框总是显示假值
我有这样的html结构Angularjs 为什么复选框总是显示假值,angularjs,Angularjs,我有这样的html结构 <div ng-controller="parentCtrl"> <div ng-controller="childCtrl"> <input ng-model="selectAll" id="selectAll" type="checkbox" ng-click="selectAllChange()"></div> </div> </div> 单击复选框(无论是否选
<div ng-controller="parentCtrl">
<div ng-controller="childCtrl">
<input ng-model="selectAll" id="selectAll" type="checkbox" ng-click="selectAllChange()"></div>
</div>
</div>
单击复选框(无论是否选中),在控制台中我总是得到fff
如何知道在这种情况下是否选中了复选框?在您的代码中,
ng模型
绑定到childCtrl
的作用域,但是parentCtrl
中的代码正在访问由parentCtrl
创建的作用域
您可以尝试this
而不是$scope
来获取触发函数的作用域:
if(this.selectAll){
并改用ng change
ng-change="selectAllChange()"
单击
和更改
事件实际上意味着不同的事情:单击
意味着鼠标在同一元素上下移动,更改
意味着值已更改。使用ng单击时,ng model
不会更新基础值
ng-change="selectAllChange()"