私はサーバーからデータを取得しているので..検索する最初の文字からサーバーにヒットしたくない...私は、そのmd-autocompleateアクションが適切なソートとオプションとして最小10レコードで発生する必要がある後、いくつかの最小長を修正したい. ..
現在、ビューページにこれがあります
<div ng-controller="ContactChipDemoCtrl as ctrl" layout="column" class="chipsdemoContactChips">
<md-content class="md-padding autocomplete" layout="column">
<md-contact-chips
ng-model="ctrl.contacts"
md-contacts="ctrl.querySearch($query)"
md-contact-name="name"
md-contact-image="image"
md-contact-email="email"
md-require-match=""
filter-selected="ctrl.filterSelected"
placeholder="To">
</md-contact-chips><!--md-min-length="3" i wonder y this for-->
<div ng-repeat="c in ctrl.contacts">{{c.name}}</div>
</md-content>
</div>
これは私のコントローラーと検索クエリで email-Id です
keynotesApp.controller('ContactChipDemoCtrl', DemoCtrl);
function DemoCtrl ($timeout, $q, $http) {
var self = this;
self.querySearch = querySearch;
self.contacts = [];
self.filterSelected = true;
/**
* Search for contacts.
*/
function querySearch (query) {
var result;
if(query) {
result = loadAndParseContacts().then(function(data) {
console.log(data)
return data.filter(createFilterFor(query))
})
} else {
result = []
}
return result
}
/**
* Create filter function for a query string
*/
function createFilterFor(query) {
var lowercaseQuery = angular.lowercase(query);
return function filterFn(contact) {
return (contact._lowername.indexOf(lowercaseQuery) != -1);;
};
}
function parse (data) {
return data.data.map(function (c, index) {
var contact = {
name: c.email,
};
contact._lowername = contact.name.toLowerCase();
return contact;
})
}
function loadAndParseContacts() {
var maxRecs = 10;
var fields = ('email _id name avatar organization jobTitle');
var sort = ({email:'ascending'});//this is not working i wonder why
return $http({
method: 'GET',
url: '/users/find',
params: {fields: fields, maxRecs: maxRecs, sort: sort }
})
.then(parse)
}
}
md-autocompleate は正常に動作しています... bt の並べ替え、最小の長さ、最大のレコードは私が望むすべてです...事前に感謝を助けてください