2014-09-18 15 views
12

Będę migrować moją aplikację angularjs z wersji 1.2.0 na 1.3.0-rc2 i chcę zmienić mój kod z bindonce na nowy jednorazowy binding.IS również użył translacji kątowej. piszę kod następująco:Jednokrotne wiązanie z filtrem

<span data-ng-bind="::'COMMENT'|translate" /> 
<span>{{::'COMMENT'|translate}}</span> 
<img src="shareBlack.png" alt="{{::'SHARE'|translate}}" data-ng-attr-title="::'SHARE'|translate" data-ng-click="startShare()" /> 

Ale w Batarang widzę wyrażenia obserwacji Watch:

{{::'SHARE'|translate}} | 3.59% | 17.00ms 
::'COMMENT'|translate | 2.95% | 14.00ms 

Co zrobiłem źle?

EDIT w poprzedniej wersji 1.2.0 z bindonce Mam następujący kod:

<div class="box-container" bindonce> 
    ... 
     <span data-bo-text="'FEED_ALLOWED_COMMENTS'|translate"/> 
    ... 
</div> 
+0

https://github.com/angular-translate/angular-translate/issues/738 – eseceve

+0

@Abraham Widzę również moje jednorazowe wiązania w Batarangu. Czy znalazłeś coś, odkąd to opublikowałeś? –

Odpowiedz

11

Właśnie natknąłem się na to pytanie i następujący możliwa odpowiedź podczas konfrontacji z tej samej kwestii:

try :

{{::('COMMENT'|translate)}} 

http://plnkr.co/edit/QogrC0bOvX8EYnmQOhpf?p=preview

+0

Czy jesteś pewien, że to działa? –

+0

Właśnie próbowałem dostarczonego plunkr, spójrz na drugie wiązanie, które następuje po powyższym przykładzie. usuń dwie kolumny i zobacz aktualizowaną wartość za każdym razem, gdy klikniesz. dodanie kolumn z powrotem zapobiega powiązaniom po pierwszym. – vgrafe

+0

Nie działa po zbudowaniu – L1ghtk3ira

1

Teraz możesz zrobić to rzucić tego rozszerzenia:

translate-once

tłumaczyć jednokrotnego dyrektywa sprawia, że ​​korzystanie z funkcji łącza i asynchroniczny rezolwer od $ translate(). Funkcja łącza dyrektywy przyjmuje klucz translacji, wyszukuje go asynchronicznie za pomocą $ translate(), a po rozwiązaniu zapisuje go w elemencie.