2016-04-12 15 views
0

Görüşlerimde aynı divleri kullanıyorum ancak divlerin içi değişiyor. Direkt olarak yapmak istiyorum. Bunun için yolu nedir? Örnek;AngularJS Wrapper Html

<div id="firstDiv"> 
    <div id="secondDiv"> 
    <div id="thirdDiv"> 
     <label....> 
    </div> 
    </div> 
</div> 

<div id="firstDiv"> 
    <div id="secondDiv"> 
    <div id="thirdDiv"> 
     <select....> 
    </div> 
    </div> 
</div> 

<div id="firstDiv"> 
    <div id="secondDiv"> 
    <div id="thirdDiv"> 
     <textArea....> 
    </div> 
    </div> 
</div> 

Bu bölümü bir yönerge olarak yapmak istiyorum;

<div id="firstDiv"> 
     <div id="secondDiv"> 
     <div id="thirdDiv"> 
     </div> 
     </div> 
    </div> 

Yardımcı olabilir misiniz?

+0

Direktifler yalnızca kullanılmaktadır benzer modellerle ancak her biri bir sınıfın örneği gibi bağımsız olarak değişebilir. Her birinin modeli direktifte aynıdır ancak başkalarının değerlerini değiştirebilir veya değiştiremez. Ne soruyorsun bu senaryoda belirsiz görünüyor. – Deadpool

+0

ng-transclude mi arıyorsunuz? –

+0

Evet, ng-transclude bunun için olduğunu biliyorum.Ama sadece yuvalanmış div'lar için nasıl kullanılacağını bilmiyorum. – Egomen

cevap

0

bunu kullanın:

<my-wrapper> 
    Your content here 
</my-wrapper> 

Ve komut dosyası (GÜNCELLEME: Yük html dosyası yerine satır içi html): Eğer benzer bir yapıya sahiptir olduğunda

module.directive('myWrapper', function ($http, $compile) { 
    var linker = function (scope, element, attrs) { 

      $http.get('wrapper.html').success(function (data) { 
      element.replaceWith($compile(data)(scope)); 
      }); 

    }; 

    return { 
     restrict: 'E', 
     link: linker 
    }; 
}); 

JSFiddle

+0

Tekrar teşekkürler. btw html kodlarını direktiflere yazmak yerine wrapper.html kullanmak istiyorsam ne yapmalıyım? – Egomen