Javascript 无法读取属性';然后';使用角度材质自动完成未定义的

Javascript 无法读取属性';然后';使用角度材质自动完成未定义的,javascript,angularjs,angular-material,Javascript,Angularjs,Angular Material,我有这样的代码: <body layout="row" ng-app="myApp" controller="main" ng-cloak> <md-autocomplete md-items="item in search(searchText)" md-search-text="searchText" md-item-text="item.name"

我有这样的代码:

<body layout="row" ng-app="myApp" controller="main" ng-cloak>
  <md-autocomplete md-items="item in search(searchText)"
                   md-search-text="searchText"
                   md-item-text="item.name"   
                   md-selected-item="selectedUser"
                   md-no-cache="true"
                   md-floating-label="Enter user ID or email address">
    <md-item-template>
      <span md-highlight-text="searchText">{{item.name}} {{item.surname}} &lt;{{item.email}}&gt;</span>
    </md-autocomplete>
</body>
当我输入一些东西时,我得到了这个异常,我的代码出了什么问题

var-app=angular.module('myApp',['ngMaterial']);
应用控制器('main',函数($scope,$q,$timeout){
可变项目=[
{
用户ID:10,
名称:“Foo”,
姓:“巴”,
电邮:'email@example.com'
}
];
$scope.search=函数(搜索){
console.log('search');
var deferred=$q.deferred();
$timeout(函数(){
延期。解决(项目);
},Math.random()*500,false);
回报。承诺;
};
});

{{item.name}{{item.name}{{{item.email}}

简单的错误。添加
ng controller=“main”
简单错误。添加
ng controller=“main”

var app = angular.module('myApp',['ngMaterial']);
app.controller('main', function($scope, $q, $timeout) {
  var items = [
    {
      userId: 10,
      name: 'Foo',
      surname: 'Bar',
      email: 'email@example.com'
    }
  ];
  $scope.search = function(search) {
    console.log('search');
      var deferred = $q.defer();
      $timeout(function() {
          deferred.resolve(items);
      }, Math.random() * 500, false);
      return deferred.promise;
  };
});