2016-07-29 83 views
0

我使用角来验证一个复选框并使用ng-model为:ngModel除去复选框的选中状态自动

<input type="checkbox" name="news1" value="news1" ng-model="news" <c:if test="${xxxx == yes'}">checked="checked"></c:if>> 
<label ng-click="news1();"></label> 

当其中的复选框被嵌入在网页经由其通过的状态的链路称为新闻1(是)..我的意思是如果用户已经注册了news1或没有。如果是这样,该复选框应该被动态检查,否则它会被取消选中。

问题是,当我在复选框中使用/添加:ng-model="news1"作为属性时,它无法正常工作。该复选框会被检查几秒钟,并突然取消选中。

在我在下面的函数改变页面后复选框的状态控制器已经被加载,从而使用户能够检查和/或取消选中该复选框:

$scope.news1 = function(){ 
    if(!$scope.news1){ 
     $scope.news1 = !$scope.news1; 
    } else{ 
     $scope.news1 = !$scope.news1; 
    } 
}; 

问题,如何解决这个问题,以便当链接中news1的状态是复选框时,它会继续被检查:是的。 如何防止角度设置复选框自动取消选中?

谢谢!

+0

您正在使用同一个名称作为属性和函数名称。重命名这两个更具描述性,这将解决您的问题。 – andale

+0

使用值或ng模型,而不是两者。 – doge1ord

+0

他们都没有帮助...当我检查生成的代码在铬我看到角添加以下复选框作为属性类中的值calss =“check-filialen ng-pristine ng-untouched ng-valid ng-空” –

回答

0

我找到了解决办法..它ng-init="xxxxx=true"

<input type="checkbox" name="news1" value="news1" ng-model="news" <c:if test="${xxxx == yes'}"> ng-init="news=true"></c:if>> 

谢谢!