我正在尝试检索 a 的当前选项的值select
,但它返回我未定义(我希望它返回我一个对象)。
标记:
<div ng-app ng-controller="MyCtrl">
<select ng-model="selectedLocal" ng-options="item.Nome for item in locais" ng-change="localSelectChange()">
<option value="">Locais</option>
</select>
</div>
控制器:
function MyCtrl($scope) {
$scope.locais = [{
ID: 109,
Nome: 'Aeroporto Internacional Hercilio Luz'
}, {
ID: 161,
Nome: 'Koxixos'
}, {
ID: 184,
Nome: 'Praça XV de Novembro'
}];
$scope.localSelectChange = function() {
alert('$scope.selectedLocal: ' + $scope.selectedLocal); // returns undefined
}
}
奇怪的部分是我创建了这个 jsfiddle来重现这个问题,使用完全相同的代码,它可以工作。
更新:
我在这里创建了一个 plunkr ,我复制了这个问题。
第一个选择包含在一个带有自己的控制器“MyCtrl”的 div 上,它按预期工作,因为我能够从 ng-change 事件处理函数中检索模型。
第二个选择“属于” DashCtrl,整个 Dash 选项卡视图控制器。当我尝试从 ng-change 事件处理函数中检索模型时,它返回我未定义。这是为什么?