Transclude не работает на select с ng-options
Я нашел эту классную статью о разработке пользовательских полей выбора. Я решил обернуть функцию jquery в директиву:
angular.module('App')
.directive('customSelect', function () {
return {
template: '<span class="select-wrapper">' +
'<div ng-transclude></div>' +
'</span>' +
'<span class="holder"></span>',
transclude: true,
restrict: 'A',
priority: 1000,
link: function postLink(scope, element, attrs) {
//pass
}
};
});
HTML:
<div class="col-lg-12 left">
<select custom-select ng-options="productGroups.indexOf(product) + '' as product.name for product in productGroups" ng-model="userData.pg"></select>
</div>
но по ряду причин он просто ничего не делает
нашел эту проблему, которая говорит на ту же тему, но не решает мою проблему здесь.
1 ответ
Вам нужно иметь опции select и ng-options в одном элементе? Я бы предположил, что ng-options установлен 'Terminal: true' так же, как ng-repeat. Попробуйте вложить параметры в отдельный div.
Наверное, я говорю, что в определении директивы ngOptions есть что-то, что вызывает проблемы с вашим пользовательским выбором, поэтому попробуйте отладить это в angular.js или напишите директиву пользовательских опций. Если вы передали массив в функцию компиляции в своем определении директивы, вы, вероятно, могли бы перебрать массив, дублирующий внутри фрагмента html 'option'. Это похоже на то, как работает ngRepeat.