<pre><code class="lang-html"><html lang = en>
<head>
<link rel = stylesheet
href = https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.css>
<script src = https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js></script>
<script src = https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-animate.min.js></script>
<script src = https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-aria.min.js></script>
<script src = https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular-messages.min.js></script>
<script src = https://ajax.googleapis.com/ajax/libs/angular_material/1.0.0/angular-material.min.js></script>
<script language = javascript>
angular
.module('f
irstApplication', ['ngMaterial'])
.controller('contactsChipController', contactsChipController);
function contactsChipController ($s
cope) {
var self = this;
self.querySearch = querySearch;
self.allContacts = loadContacts();
self.contacts = [self.allContacts[0]];
self.filterSelected = true;
function querySearch (query) {
var results = query ?
self.allContacts.filter(createFilterFor(query)) : [];
return results;
}
function createFilterFor(query) {
var lowercaseQuery = angular.lowercase(query);
return function filterFn(contact) {
return (contact._lowername.indexOf(lowercaseQuery) != -1);;
};
}
function loadContacts() {
var contacts = [
'Roberto Karlos',
'Bob Crestor',
'Nigel Rick',
'N
arayana Garner',
'Anita Gros',
'Megan Smith',
'T
svetko Metzger',
'Hector Simek',
'James Roody'
];
return contacts.map(function (c, index) {
var cParts = c.split(' ');
var contact = {
name: c,
email: cParts[0][0].toLowerCase() + '.' + cParts[1].toLowerCase()
+ '@example.com',
image: 'http://lorempixel.com/50/50/people?' + index
};
contact._lowername = contact.name.toLowerCase();
return contact;
});
}
}
</script>
</head>
<body ng-app = f
irstApplication>
<div ng-controller = contactsChipController as ctrl layout = column
ng-cloak>
<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 = true
md-highlight-flags = i
filter-selected = ctrl.filterSelected
placeholder = To>
</md-contact-chips>
<md-list class = fixedRows>
<md-subheader class = md-no-sticky>Contacts</md-subheader>
<md-list-item class = md-2-line contact-item
ng-repeat = (index, contact) in ctrl.allContacts
ng-if = ctrl.contacts.indexOf(contact) < 0>
<img ng-src = {{contact.image}} class = md-avatar
alt = {{contact.name}} />
<div class = md-list-item-text compact>
<h3>{{contact.name}}</h3>
<p>{{contact.email}}</p>
</div>
</md-list-item>
<md-list-item class = md-2-line contact-item selected
ng-repeat = (index, contact) in ctrl.contacts>
<img ng-src = {{contact.image}} class = md-avatar
alt = {{contact.name}} />
<div class = md-list-item-text compact>
<h3>{{contact.name}}</h3>
<p>{{contact.email}}</p>
</div>
</md-list-item>
</md-list>
</md-content>
</div>
</body>
</html>
</code></pre>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。