angularjs – ng-change on select选项调用多个唯一函数
我的问题是,对于每个选择选项,我需要调用不同的函数,而不是相同的函数.
我开始使用ng-click每个选择选项,但很快意识到这不起作用.然后我阅读了Angular关于ng-options https://docs.angularjs.org/api/ng/directive/ngOptions的文档 该文档说明了使用ng-change,但它基于每个select选项获得应用于它的相同功能的事实. 在考虑了这一点后,我最终创建了一个在ng-change上调用的函数.此函数只确定要调用的代理. $scope.determineAction = function() { var getDelegation = $injector.get($scope.selected.action); getDelegation.delegate(); } Plunker: 我已经为我的问题创建了一个解决方案,但我想知道这是否是正确的方法?我在ng-options中遗漏了一些允许许多不同函数调用的东西吗?
TL; DR:是的,你做的是对的.
是的,你正在做正确的事.您不会错过ng-options的某些秘密方面,它允许您为每个项目指定不同的内容.事实上,这样做会破坏ng-options的目的.它特别适用于您正在处理的项目数量可变的情况,但需要对它们执行的操作是相同的. 在your Plunker,你正在准确地证明这一点.你有一个可变的动作列表;它可以有许多行动要做.但是,您要对它们执行的操作是相同的:当您选择新项时,您希望运行由支持范围指定的某些操作.这正是控制器的意图!正如您所发现的,您需要做的就是以确定事物的当前状态并相应地做出反应的方式编写您的函数.您需要做的就是确保它正在设置该状态,以便您的控制器能够理解它. 你已经完成了所有这些,所以要坚持下去! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |