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

  • kamaniusilelis

    kamaniusilel

    10 HAZİRAN 2011
  • PaysNatalAu's channel

    PaysNatalAu'

    11 Aralık 2010
  • Vsauce

    Vsauce

    30 Temmuz 2007