ng-model没有通过正确的值

时间:2016-01-21 09:54:33

标签: angularjs

我有一个select元素,用户可以在其中选择orderBy过滤器,

%select{
  "ng-change"  => "select()", 
  "ng-model"   => "selectedItem", 
  "ng-options" => "option.sortBy for option in listOfOptions"}

这是listOfOptions

$scope.listOfOptions = [
  {sortBy: 'Release date',  value:'release_date'},
  {sortBy: 'Newly added',   value:'created_at'}
];

select函数,

$scope.select = function(){
  console.log($scope.selectedItem.value)
}

在视图中,选择框同时显示发布日期和新添加的选项,但当我选择其中一个时,我收到错误,

  

TypeError:无法读取未定义的属性“value”

所以看起来$ scope.selectedItem是未定义的,但我无法弄清楚原因。

1 个答案:

答案 0 :(得分:0)

我做了一个plunker并且选择按预期工作

Plunker

app.js:

  $scope.listOfOptions = [{
    sortBy: 'Release date',
    value: 'release_date'
  }, {
    sortBy: 'Newly added',
    value: 'created_at'
  }];

  $scope.select = function() {
    console.log($scope.selectedItem.value)
  }

的index.html:

<select ng-change="select()" ng-options="option.sortBy for option in listOfOptions" ng-model="selectedItem"></select>
<p>{{selectedItem}}</p>

你能提供角度版本吗?