使用函数检查AngularJs ng-ng

前端之家收集整理的这篇文章主要介绍了使用函数检查AngularJs ng-ng前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个表单,我试图在输入ng-checked =“someFunction()”中使用一个函数,我不知道这是否可行或我做错了什么.我在我的控制器中有功能,我在视野中调用它.至于功能,我认为它肯定正在工作,ng-checked正在解雇它,但返回true或false不会改变任何东西.那么问题是有没有办法在’ng-checked’中使用函数
  1. $scope.multiAnswers = function (answers,optionId) {
  2. angular.forEach(answers,function (answer,key) {
  3. if (answer.option_choice_id == optionId) {
  4. return true;
  5. }
  6. });
  7.  
  8. return false;
  9. };
ng-checked确实可以使用函数.这是一个演示:
  1. $scope.getCheckedFalse = function(){
  2. return false;
  3. };
  4.  
  5. $scope.getCheckedTrue = function(){
  6. return true;
  7. };

HTML:

  1. <input type="checkBox" ng-checked="getCheckedFalse()"/>
  2. <input type="checkBox" ng-checked="getCheckedTrue()"/>

DEMO

你的问题是你在函数结束时永远不会返回true.返回true;在angular.forEach内部没有帮助.

尝试:

  1. $scope.multiAnswers = function (answers,optionId) {
  2. var returnValue = false;
  3. angular.forEach(answers,key) {
  4. if (answer.option_choice_id == optionId) {
  5. returnValue = true;
  6. return;
  7. }
  8. });
  9.  
  10. return returnValue;
  11. };

看起来我们无法摆脱angular.forEach:Angular JS break ForEach

当answer.option_choice_id == optionId为true时,要立即提高性能.你可以试试jQuery $.each或使用vanilar javascript(for loop).

猜你在找的Angularjs相关文章