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

  • BuzzFeedVideo

    BuzzFeedVide

    10 AĞUSTOS 2011
  • KSI

    KSI

    25 Temmuz 2009
  • Snazzy Labs

    Snazzy Labs

    9 Aralık 2008