加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

使用函数检查AngularJs ng-ng

发布时间:2020-12-17 07:52:22 所属栏目:安全 来源:网络整理
导读:我有一个表单,我试图在输入ng-checked =“someFunction()”中使用一个函数,我不知道这是否可行或我做错了什么.我在我的控制器中有功能,我在视野中调用它.至于功能,我认为它肯定正在工作,ng-checked正在解雇它,但返回true或false不会改变任何东西.那么问题是
我有一个表单,我试图在输入ng-checked =“someFunction()”中使用一个函数,我不知道这是否可行或我做错了什么.我在我的控制器中有功能,我在视野中调用它.至于功能,我认为它肯定正在工作,ng-checked正在解雇它,但返回true或false不会改变任何东西.那么问题是有没有办法在’ng-checked’中使用函数?
$scope.multiAnswers = function (answers,optionId) {
        angular.forEach(answers,function (answer,key) {
            if (answer.option_choice_id == optionId) {
                return true;
            }
        });

        return false;
    };
ng-checked确实可以使用函数.这是一个演示:
$scope.getCheckedFalse = function(){
    return false;
};

$scope.getCheckedTrue = function(){
    return true;
};

HTML:

<input type="checkbox" ng-checked="getCheckedFalse()"/>
<input type="checkbox" ng-checked="getCheckedTrue()"/>

DEMO

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

尝试:

$scope.multiAnswers = function (answers,optionId) {
     var returnValue = false;
     angular.forEach(answers,key) {
         if (answer.option_choice_id == optionId) {
              returnValue = true;
              return;
         }
     });

     return returnValue;
};

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读