Angular中通过repeat出来的DOM元素 如何监听其事件?

clipboard.png
这样循环出来的select,我要如何监听其中一个select的change事件呢?
Angular 新人,求解答

阅读 6.5k
2 个回答

首先你迭代options的方法是冗余的,angular默认提供了 ngOptions 指令来生成option标签,你也可以给一个默认value为空的option,它不会进行覆盖。

其次,select监听事件,可以使用 ngChange 指令,如果你不打算设置ngModel,可以将迭代元素作为参数传递进去,既:

<select ng-options="item.id as item.name for item in list" ng-change="select(item)"></select>

上面的示范,是将item.id迭代成option的value,item.name迭代成option的text,具体可以参考官方文档。

watch 他的 model

<select ng-model=something>
$scope.$watch('something',function(){
    //todo
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题