使用函数检查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). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |