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

  • Elly Awesome

    Elly Awesome

    15 ŞUBAT 2010
  • Google

    Google

    18 EYLÜL 2005
  • SunsetTrance

    SunsetTrance

    20 EYLÜL 2008