SORU
13 EYLÜL 2013, Cuma


Veri bağlama olmadan işlemek değer

AngularJS, nasıl 2 yönlü veri bağlama olmadan bir değer hale getirebilir miyim? Bir performansı artırmak için bunu yapmak istiyor olabilir ya da zaman içinde belirli bir noktada bir değer oluşturma.

Aşağıdaki örnek veri bağlama kullanın:

<div>{{value}}</div>

<div data-ng-bind="value"></div>

Nasıl value render yapıyorumherhangi olmadanveri bağlama?

CEVAP
13 EYLÜL 2013, Cuma


Açısal 1.3

1.3, Açısal olarak desteklemiştir bu aşağıdaki sözdizimini kullanarak.

<div>{{::message}}</div>

this answer belirtildiği gibi.


Açısal ve aşağıda 1.2

Bu basit bir eklenti gerekmez. Şuna bir bak.

Bu küçük Direktifi kolayca elde etmeye çalıştığınız şeyi gerçekleştirmek olacaktır

app.directive('bindOnce', function() {
    return {
        scope: true,
        link: function( $scope ) {
            setTimeout(function() {
                $scope.$destroy();
            }, 0);
        }
    }
});

Bir kez bu şekilde bağlayabilirsiniz

<div bind-once>I bind once - {{message}}</div>

Bağlama normal gibi

<div ng-bind="message" bind-once></div>

Demo: http://jsfiddle.net/fffnb/

Şimdi söyle düşünebilirsiniz kullanarak açısal batarang ve belirtildiği gibi açıklamalarda kullanırsanız bu yönerge eleman hala gösterildiği gibi bağlama değil, ben eminim bu şey ile sınıflar eklenir öğesi öyle dene, işe yarayabilir(test değil). Eğer sizin için çalıştı Eğer bana yorum olarak bildirin.

app.directive('bindOnce', function() {
    return {
        scope: true,
        link: function( $scope, $element ) {
            setTimeout(function() {
                $scope.$destroy();
                $element.removeClass('ng-binding ng-scope');
            }, 0);
        }
    }
});

OKB ve class boş özniteliğini kaldırmak istediğiniz bu. @x0b:

!$element.attr('class') && $element.removeAttr('class')

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GWTLecturer

    GWTLecturer

    18 EKİM 2012
  • Jorrit Jongma

    Jorrit Jongm

    17 Ocak 2008
  • makemebad35

    makemebad35

    17 NİSAN 2006