是否有可能在其中有直放站指令?帶直放站的AngularJS指令
我想要的是按照字母順序創建一個人員列表,其中按照每組字母過濾人員列表。
的指令如下:
.directive('azList', ['$compile', function($compile){
var letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ#'.split('');
var group = '';
letters.forEach(function(letter){
group = group + '\
<div class="list__group" id="list_' + letter + '">\
<h4 class="list__header">' + letter + '</h4>\
<ul class="list__items">\
<li ng-repeat="person in people | orderBy: [{{person.lastname}}, {{person.firstname}}] | firstLetter:{{person.lastname}}:' + letter + '">\
<a ui-sref="people.details({ personId: {{person.id}} })">\
<span class="list__icon"><img src="img/avatar.png"></span>\
<span class="list__text">\
<span class="list__text__name">{{person.firstname}} <b>{{person.lastname}}</b></span>\
</span>\
</a>\
</li>\
</ul>\
</div>';
});
return {
restrict: 'AECM',
template: group
};
}])
然後過濾:
.filter('firstLetter', function() {
return function (input, key, letter) {
input = input || [];
var out = [];
input.forEach(function (item) {
if(letter == '#') {
if (!isNaN(parseInt(item[key][0])))
out.push(item);
}
else if (item[key][0].toLowerCase() == letter.toLowerCase()) {
out.push(item);
}
});
return out;
}
});
然後,我用它喜歡:
<az-list></az-list>
不過,我剛剛得到的名單字母和它不叫中繼器...
是啊試過了(見修改),我現在得到列表,但指令中的中繼器不會被解僱。基本上我想在一個轉發器內重複。 – Cameron
還是你建議我在中繼器內嵌入一箇中繼器?哪一個可能工作得很好! – Cameron
@Cameron是的,我只是有一個簡單的NG重複,而不是有另一個指令來包裝它..這是理想的沒有意義.. –