ajax를 통해로드 된 (나중에 캐시 된) 옵션 집합으로 이루어진 선택에 대한 다소 일반적인 지시문이 있습니다.'select'요소로 지시문 내부에 사용자 정의 옵션을 옮깁니다.
이 지시문이 사용되는 위치에 따라 몇 가지 특정 옵션을 지정해야한다는 점이 중요합니다. 지시어의 존재와
<select-directive ng-model="model">
<option value="x">custom option</option>
</select-directive>
을 :
{
restrict: 'E',
scope:{
ngModel: '='
},
transclude:true,
template:[
'<select class="tipos" ng-model="ngModel">',
'<ng-transclude></ng-transclude>',
'<option ng-selected="ngModel === item.tipo" ng-repeat="item in ::tiposDoc track by item.tipo" value="{{::item.tipo}}" title="longer description">',
'description',
'</option>',
'</select>'
].join(''),
link: function(scope){
$http.get('viewApp/viewCtrl.php/getTipos',{cache:true})
.then(function(response){
var resp = response.data;
if(!resp.success){
console.log(resp.log);
alert(res.msg);
return false;
}
scope.tiposDoc = resp.result;
});
}
}
을하지만 사용자 지정 옵션은 선택 요소에 표시되지 않습니다 나는이 같은 같은 옵션을 transclude 수있다 생각했다. 내가 놓친 게 있니? 어떤면에서나 다른면에서 이것이 가능한가? 각도의 select
지시와 어떤 식 으로든 분명히 ng-include
태그 충돌
link: function(scope, element, attrs, ctrls, transclude){
var html = transclude();
element.find('select').append(html);
}
나는 다른 접근법을 사용하여 끝났지 만, 이것은 염두에 두어야 할 완벽하게 유효한 대안입니다. 감사합니다! – Sebastianb
@Sebastianb, 환영합니다 :) –