Angularjs 如何在JavaScript中获取复选框的值?

Angularjs 如何在JavaScript中获取复选框的值?,angularjs,Angularjs,请原谅这个可能相当简单的问题,但我必须对客户机请求做一个小的更改,并且对AngularJS没有真正的概念 在一个复选框的值中,在HTML代码中使用这些{{..}}指令获取请求-但是如何在JavaScript中访问它 这是我试图从中获取其值的复选框: <input ng-switch-when="java.lang.Boolean" type="checkbox" ng-model="nounTypesOnly" required

请原谅这个可能相当简单的问题,但我必须对客户机请求做一个小的更改,并且对AngularJS没有真正的概念

在一个复选框的值中,在HTML代码中使用这些
{{..}}
指令获取请求-但是如何在JavaScript中访问它

这是我试图从中获取其值的复选框:

<input ng-switch-when="java.lang.Boolean" type="checkbox" 
       ng-model="nounTypesOnly" required                            
       ng-true-value="1" ng-false-value="0"></input>

如果我调试此
$scope.nounytypesonly
未定义。要从输入字段
名词类型中仅获取该值,我必须更改什么?

您在范围继承方面遇到了问题

将产生一个新的作用域。因为
ng model=“nounytypesonly”
绑定到这个独立的作用域,而不是外部作用域

尝试将模型值指定给复杂对象,即
ng model=“foo.nounTypesOnly”
。如果您在外部作用域上初始化了
foo={}
,这将确保可以通过给定的名称在外部作用域中访问它

实例 在控制器中,执行以下操作:

function MyController($scope) {
   $scope.data = {};
}
<input ng-switch-when="java.lang.Boolean" ng-model="data.nounTypesOnly" />
在模板中,执行以下操作:

function MyController($scope) {
   $scope.data = {};
}
<input ng-switch-when="java.lang.Boolean" ng-model="data.nounTypesOnly" />


通过这种方式,您可以确保仅将
名词类型
正确传播回外部(即控制器)作用域。

是否尝试
$scope.$digest()
然后只查看
名词类型的值
@AvraamMavridis刚刚测试了它,但它不起作用:/I我认为在复选框的情况下,您必须使用
ng change
@AvraamMavridis说它是可选的。我不确定如果用户从未点击该项目,这是否会起作用,但我可以试试。只是为了确定,您是否初始化了
$scope.nounTypesOnly
?您好!我想试试这个,但是您在外部作用域上初始化
foo
是什么意思?我该在哪里做呢?(很抱歉,我从未对AngularJS做过任何事情)请参阅提供的示例。