我如何才能实现这一目标?:
<select>
<option ng-repeat="item in items" value="item">{{item.name}}</option>
</select>
<a ng-click="foo(item)">Action</a>
Foo以角度控制器的方式声明:
$scope.foo = function(item) {
console.log(item);
}
我理解,item
在元素<option>
范围内定义。但我需要将当前选定的项目发送到foo
foonction。我怎么能这样做?
答案 0 :(得分:3)
请勿使用ng-repeat
,而是使用ng-options
:
<select ng-model="selectedItem" ng-options="item as item.name for item in items" >
</select>
然后,你应该可以使用它:
<a ng-click="foo(selectedItem)">Action</a>
这是有效的,因为ng-model
将$scope.selectedItem
设置为下拉列表中当前选定的项目。