SORU
7 Mart 2013, PERŞEMBE


Dinamik olarak AngularJS Direktif Ekle

Genelinde sorun oluyor ben de öyle yapıyorum, çok aşağı haşlanmış bir versiyonu var.

directive bir basit var. Sana bir öğe tıklatın zaman, bir tane daha ekler. Ancak, bunu doğru kılmak için ilk derlenmiş olması gerekiyor.

Benim araştırma $compile götürdü. Ama tüm bu örnekler gerçekten burada uygulamak için nasıl bilmiyorum o kadar karmaşık bir yapı kullanın.

Kemanlar burada: http://jsfiddle.net/paulocoelho/fBjbP/1/

Ve JS burada

var module = angular.module('testApp', [])
    .directive('test', function () {
    return {
        restrict: 'E',
        template: '<p>{{text}}</p>',
        scope: {
            text: '@text'
        },
        link:function(scope,element){
            $( element ).click(function(){
                // TODO: This does not do what it's supposed to :(
                $(this).parent().append("<test text='n'></test>");
            });
        }
    };
});

Josh David Miller tarafından çözüm: http://jsfiddle.net/paulocoelho/fBjbP/2/

CEVAP
7 Mart 2013, PERŞEMBE


Orada anlamsız bir WordPress kullanmak çok şey var, ama derleme dolar hizmet aslındasüper basitbu durumda:

.directive( 'test', function ( $compile ) {
  return {
    restrict: 'E',
    scope: { text: '@' },
    template: '<p ng-click="add()">{{text}}</p>',
    controller: function ( $scope, $element ) {
      $scope.add = function () {
        var el = $compile( "<test text='n'></test>" )( $scope );
        $element.parent().append( el );
      };
    }
  };
});

Bazı en iyi uygulamaları takip etmek için Direktif ben refactored de fark edeceksiniz. Eğer bunlardan herhangi biri hakkında sorularınız varsa bana bildirin.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • RocketJump

    RocketJump

    22 ŞUBAT 2006
  • soyacincautv

    soyacincautv

    14 NİSAN 2010
  • TheGamer2323

    TheGamer2323

    25 Ocak 2009