Angular 1.3+
In 1.3, Angular lo ha supportato utilizzando la seguente sintassi.
<div>{{::message}}</div>
Come accennato in questa risposta .
Angolare 1.2 e inferiore
Questo è semplice e non necessita di plugin. Controllalo.
Questa piccola direttiva realizzerà facilmente ciò che stai cercando di ottenere
app.directive('bindOnce', function() {
return {
scope: true,
link: function( $scope ) {
setTimeout(function() {
$scope.$destroy();
}, 0);
}
}
});
Puoi legare una volta in questo modo
<div bind-once>I bind once - {{message}}</div>
Puoi legarti come al solito
<div ng-bind="message" bind-once></div>
Demo: http://jsfiddle.net/fffnb/
Alcuni di voi potrebbero usare il batarang angolare e, come menzionato nei commenti, se usate questa direttiva l'elemento si mostra ancora come vincolante quando non lo è, sono abbastanza sicuro che questo abbia qualcosa a che fare con le classi che sono attaccate all'elemento quindi prova questo, dovrebbe funzionare (non testato) . Fammi sapere nei commenti se ha funzionato per te.
app.directive('bindOnce', function() {
return {
scope: true,
link: function( $scope, $element ) {
setTimeout(function() {
$scope.$destroy();
$element.removeClass('ng-binding ng-scope');
}, 0);
}
}
});
@ x0b : se hai un disturbo ossessivo compulsivo e desideri rimuovere l' class
attributo vuoto, fallo
!$element.attr('class') && $element.removeAttr('class')