angularjs - 如何将两个值从 ng-repeat 传递给 ng-change 函数

标签 angularjs angularjs-ng-repeat ng-repeat

这是我的 html 代码

<select ng-model="node.field.name" 
        data-nodrag 
        ng-options="value.label as value.label group by value.name for value in myOptions" 
        ng-change="getConditionsByType(node.field.name,value.name)">
</select>

什么时候用getConditionsByType(node.field.name,value.name)我得到 value.name 为 undefined

更改选项时如何从 ng-repeat 访问值!

最佳答案

value未在 ng-change 的范围内定义- 仅在 ng-options 的微语法表达式中定义.

相反,让模型成为“值”——即 myObjects 的项目.

<select ng-model="selectedOption" 
        ng-options="value as value.label group by value.name for value in myOptions" 
        ng-change="onChange()">
</select>

这意味着您不能设置 node.field.name直接“value.name” - 这样做,在 ngChange反而:
$scope.onChange = function(){
   $scope.node.field.name = selectedOption.name;
   getConditionsByType($scope.node.field.name, selectedOption.name)
}

关于angularjs - 如何将两个值从 ng-repeat 传递给 ng-change 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31691600/

相关文章:

javascript - 无法在 angularjs 中的 http 响应回调函数之外访问 $scope 对象

javascript - AngularJS - ngSwitch 和 ng Click 在 ng Repeat 中不起作用

AngularJS 1.3 ng-repeat 动画移动项目不起作用

AngularJS 在嵌套的 ngRepeat 中访问 $first of ngRepeat parent

AngularJS ng-repeat Math Pow

angularjs - Angular.js - 防止直接访问部分 View

javascript - Angular JS注入(inject)器模块错误

angularjs - Bower 安装卡在 json 输出 : "message": "Answer",

angularjs - 如何获取 ngRepeat 指令内输入字段的 NgModelController?

javascript - ng-repeat 按 id 进行跟踪,如何在 ng-repeat 中进行过滤