1

bindOnce次のディレクティブを使用したい:

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

これを単純な html で使用すると、次のようになります。

<span class="highlight" data-bind-once> "{{listing.searchTerm}}"</span>

何が起こるかというと、表示されているのは "" だけです!

サービスを使用してデータをロードしています。データを$httpロードする前に bind-once を削除する必要があり、明らかにバインドされません。

アプリの多くの場所でこれを使用したいのですが、これは制限ですか、それとも間違っていますか?

4

1 に答える 1

0

angular の新しいバージョンには、それらの中で 1 回バインドする機能があります。

<span class="highlight"> "{{ ::listing.searchTerm }}"</span>

リンク: https://docs.angularjs.org/guide/expression#one-time-binding

于 2014-11-10T12:37:28.730 に答える