yönergesinden ayrıştırmıyor. N sayısı oluşturmaya çalışıyorum Öznitelikten (N'nin dizinin uzunluğudur) geçirildiği diziye dayalı olarak dinamik olarak denetimlerini seçin. Dizinin bir nesneninAngularJS, dinamik olarak yüklenen verileri
Yapısı şöyle:
selectDescription = {
array: arrayObject, //ng-options, a string as 'item as item.name for item in selectArray[0]'
change: methodName, //ng-change, actionname
level: levelNumber //level number
}
Yani iç span etiketi ben özelliğinden olsun selectDescription(s)
sayısına bağlıdır seçme kontrollerin sayısı.
İlk seçme denetimi başarıyla başarıyla tamamlandı. Sonraki seçim kontrolleri, daha önce oluşturulmuş olan seçenekten bir seçenek seçmek için denetimleri seçili olmalıdır. Ama benim durumumda değil. Geçerli inputEl (bir seçeneğin seçilmesi) içinde açısal öğelerin başarıyla eklenmesine rağmen, bu kullanıcı arabiriminde oluşturulmuyor. Sanırım çok önemli bir şeyi özlüyorum. selectDescriptions değişikliği üzerinde
, bir çevrilmiş nitelik geçtiği ben sırayla span
içeride önceki HTML temizledikten sonra yeniden eklemek elemanları işlevi hale çalıştığı, bağlantıdan scope.$editable.render()
çağırmak mümkün duyuyorum, ayarlanır.
Benim Kod:
Eğer Açısal direktifinlink
işlevinde dinamik HTML içerik ekleyerek olduğundan app.directive('editableLocation', function(editableDirectiveFactory) {
var createElement = function(el, index){
var newElement = angular.element("<select/>");
newElement.attr('ng-model','$data'+index);
newElement.attr('ng-options',el.array);
newElement.attr('ng-change',el.change.substring(0, el.change.length - 1)+", $data"+index+")");
return newElement;
}
var descriptions = [] ;
var dir = editableDirectiveFactory({
directiveName: 'editableLocation',
inputTpl: '<span></span>',
render: function() {
this.parent.render.call(this);
this.inputEl.html("");
for(var i = 0 ; i < descriptions.length ; i ++){
this.inputEl.append(createElement(descriptions[i], i));
}
}
});
var linkOrg = dir.link;
dir.link = function(scope, el, attrs, ctrl) {
console.log(el);
descriptions = scope.$eval(attrs.description);
scope.$watch('flipped',function(newValue,oldValue){
if(newValue != 0){
scope.$editable.render();
}
});
return linkOrg(scope, el, attrs, ctrl);
};
return dir;
});
yaptım çözüldü
. This.inputEl.contents() öğesinde iki seçim denetimi gösterilmesine rağmen, yine de kullanıcı arabiriminde aynı sayıda denetime neden olmaz. –
Kodunuzda bir sorun olabilir. Bir plunkr veya keman sağlayabilir misin? –
Burada, https://plnkr.co/edit/lX7aBnJz9b2D9p35Hke6?p=preview –