2016-04-01 16 views
0

AngularJS 1.5.0 yönergesiyle değiştirilemez. Daraltmak için özel yönerge ddTextCollapse kullanıyorum \ iş parçasındaki uzun gönderileri ve son zamanlarda karşılaştığınız tuhaf bir soruyu genişletmek istiyorum; bazı yayınlar, DOM tarafından kod tarafından değiştirilmediğinden dolayı genişlemeyecek.AngularJS. Öğe,

link: function(scope, element, attrs) { 
    scope.doc.collapsed = false; 
    var child = element.children(); 

    scope.doc.toggle = function() { 
    scope.doc.collapsed = !scope.doc.collapsed; 
    child.toggleClass('collapsed'); 
    console.dir(child); //everything is fine! Should have changed DOM also, but alas. 
    }; 

    attrs.$observe('ddTextCollapseMaxHeight', function() { 
    var maxHeight = scope.$eval(attrs.ddTextCollapseMaxHeight); 

    if (child.height() > maxHeight) { 
     child.addClass('collapsed'); 
     scope.doc.collapsed = true; 
     var toggleButton = $compile('<i class="material-icons collapse-text-toggle" ng-click="doc.toggle()">more_horiz</i>')(scope); 
     child.after(toggleButton); 
    } 

    }); 
} 

Gerçekten kafam karıştı bu olabilir neden: İşte kod. Gönderi türüne bağlı gibi görünüyor, ancak sorun aynı olsa bile sorun ortaya çıkıyor. işaretleme:

<div ng-if="discus.expanded[doc.unid] !== 'attached'" dd-text-collapse dd-text-collapse-max-height="100" class="col-lg-24 martop5 text-content"> 
    <div ng-bind-html="doc.body | linkCreate | nl2br | quoteAuthor | trustAsHtml" class=""></div> 
</div> 

Size kapsamları ile berbat ve gerçekten üst değiştirmeniz gerektiğinde tek çocuğu değiştirdiğinizde benziyor. Ama yine de, neden veya nasıl olabileceğini göremiyorum.

+0

Bunun için bir plunkr eklemeyi düşünüyor musunuz? Ayrıca, çöküşünüzden sonra kapsamı $. –

cevap

0

İsterseniz bu görev için açısal js özel yönergesini indirebilirsiniz. Birçok yönerge var ama aşağıda kullanıyorum ve iyi çalışıyor.

http://ngmodules.org/modules/angular-readmore

+0

Mesajlarda html işaretlemesiyle çalışmam gerekiyor, bu yönerge sadece düz metin ile çalışabilir. – Moorindal

0

Sadece (yerine element veya child ait) jQuery seçici kullanılarak ve belli ki bazı Açısal hata oldu için onunla çalışma sona erdi.