这里看似简单的问题。我有一个很时髦的 ng-options 选择标签。
基本上我的 ng-change 函数不能正常工作,因为第一个参数“v”是未定义的。有什么帮助吗?
<select ng-model="d.sub_customer" ng ng-options="v.description as v.description for v in subCustomers" ng-change="updateCustomer(v,d.id)"></select>
这里看似简单的问题。我有一个很时髦的 ng-options 选择标签。
基本上我的 ng-change 函数不能正常工作,因为第一个参数“v”是未定义的。有什么帮助吗?
<select ng-model="d.sub_customer" ng ng-options="v.description as v.description for v in subCustomers" ng-change="updateCustomer(v,d.id)"></select>
您不能访问ng-options外部表达式中的迭代变量(与 不同ng-repeat)。因为 ng-options 只是使用该表达式并在 DOM 中为 select 绘制选项。它实际上并没有创建一个范围来阻止这些属性,这就是它与 ng-repeat 不同的原因。在你的情况下d.sub_customer将被选中v.description,所以你可以在 ng-change 中传递它,即
ng-change="updateCustomer(d.description,d.id)"
<select ng-model="d.sub_customer" ng ng-options="v.description as v.description for v in subCustomers" ng-change="updateCustomer(v,d.sub_customer)"></select>