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

  • girleffect

    girleffect

    20 Mayıs 2008
  • ibebrent

    ibebrent

    23 Temmuz 2007
  • Jonah Penna

    Jonah Penna

    11 EYLÜL 2005