de-vraag
  • Pertanyaan
  • Tag
  • Pengguna
Notifikasi
Imbalan
Registrasi
Setelah Anda mendaftar, Anda akan diberitahu tentang balasan dan komentar untuk pertanyaan Anda.
Gabung
Jika Anda sudah memiliki akun, masuk untuk memeriksa pemberitahuan baru.
Akan ada hadiah untuk pertanyaan, jawaban, dan komentar tambahan.
Lebih
Sumber
Sunting
 waqas
waqas
Question

Bagaimana untuk menangani string yang berisi HTML yang menggunakan Sudut-Translate?

Apakah ada cara untuk memberitahu sudut dan sudut-translate]1 untuk menangani string yang berisi konten HTML.

Saya memiliki add_card-title = "Untuk membuat pemesanan lebih cepat, <span class="nowrap">add a card sekarang</span>" saya Lang string. Ketika saya menggunakannya di template saya dengan menulis <p>{{&#39;add_card-judul&#39; | terjemahan}}</p> aku mendapatkan string yang seperti itu.

Output: Untuk membuat pemesanan lebih cepat, <span class="nowrap">add a card sekarang</span> output yang diharapkan: Untuk membuat pemesanan lebih cepat, tambahkan kartu sekarang

Aku tahu aku bisa menggunakan ng-html-mengikat-tidak aman tapi itu tidak membantu.

Tidak bekerja:

<p ng-html-bind-unsafe="{{'add_card-title' | translate}}"></p>

Apakah ada cara untuk mencapai hal itu?

Di sini saya plunker: http://plnkr.co/edit/nTmMFm9B94BmbTgo2h8H?p=preview

Untuk referensi anda bisa melihat masalah ini: https://github.com/PascalPrecht/angular-translate/issues/173

catatan: saya tidak ingin invlove controller untuk menangani hal itu.

56 2013-11-03T15:08:22+00:00 9
Pemrograman
javascript
angularjs
 James
James
3 Maret 2014 в 11:22
2014-03-03T23:22:00+00:00
Lebih
Sumber
Sunting
#22701074

Anda dapat melakukan ini keluar dari kotak dengan sudut-translate 2.0 hari ini.

<p translate="{{ 'PASSED_AS_INTERPOLATION' }}"></p> 

bekerja keajaiban bagi saya.

Dominik Hadl
Dominik Hadl
Jawaban edit 30 Oktober 2014 в 8:43
60
0
 A.Infante
A.Infante
17 Oktober 2014 в 10:53
2014-10-17T22:53:45+00:00
Lebih
Sumber
Sunting
#22701076

Anda harus menggunakan ng-mengikat-html direktif tanpa kurung kurawal ({{ }})

Untuk mengetahui konfigurasi yang diperlukan dalam rangka untuk menggunakan direktif (ngBindHtml), ikuti link ini: https://docs.angularjs.org/api/ng/directive/ngBindHtml

Setelah ngSanitize disertakan, berikut kode yang harus bekerja:

<p ng-bind-html="'add_card-title' | translate"></p>
19
0
Michael R
Michael R
16 Maret 2017 в 1:57
2017-03-16T01:57:08+00:00
Lebih
Sumber
Sunting
#22701079

Ini bekerja untuk saya... HTML ditafsirkan untuk styling yang baik (misalnya: tebal, miring, dll.)

<p translate="translationId"></p>

Namun, saya juga dibutuhkan untuk memastikan bahwa aku tidak't melarikan diri menggunakan strategi dalam penyedia setup. Itu membuatku kacau untuk sementara waktu.

  • Karya: $translateProvider.useSanitizeValueStrategy( &#39;membersihkan&#39; );
  • Nope: $translateProvider.useSanitizeValueStrategy( &#39;melarikan diri&#39; );

https://angular-translate.github.io/docs/#/guide/19_security

Menggunakan: sudut-translate v2.13.1

15
0
Camilo Soto
Camilo Soto
11 Oktober 2017 в 4:59
2017-10-11T16:59:17+00:00
Lebih
Sumber
Sunting
#22701080

Anda dapat menggunakan <p [innerHTML]=",&#39;add_card-judul&#39; | translate"></p>

7
0
 waqas
waqas
3 November 2013 в 4:16
2013-11-03T16:16:57+00:00
Lebih
Sumber
Sunting
#22701072

Saya telah menemukan solusi. Saya menggunakan AngularJS v1.2.0-rc.3 yang punya ng-html-mengikat-tidak aman usang. Sekarang sudut memiliki ng-mengikat-html bukan ng-html-mengikat-tidak aman. Tapi satu harus inject sudut-membersihkan sebagai ketergantungan untuk membuatnya bekerja.

Saya diganti

<p ng-html-bind-unsafe="{{'add_card-title' | translate}}"></p>

dengan

<p ng-bind-html="'{{'add_card-title' | translate}}'"></p>

dan hal-hal mulai bekerja.

 lukkea
lukkea
Jawaban edit 7 April 2015 в 2:29
6
0
 armyofda12mnkeys
armyofda12mnkeys
5 Oktober 2016 в 9:53
2016-10-05T21:53:46+00:00
Lebih
Sumber
Sunting
#22701078

Berikut ini adalah beberapa cara untuk mencampur html (bersama dengan lingkup variabel, bersama dengan interpretion jika anda perlu hal-hal seperti ng-klik di html terjemahan):

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

<div>{{'TESTING1_SIMPLE_VAR_REPLACE' | translate: '{name: "John Smith", username: "john.smith12"}'}}</div>
<div translate='TESTING1_SIMPLE_VAR_REPLACE' translate-values='{ name: "Jake Smith", username: "jake-smith-101"  }'></div> 
<div translate="TESTING1_SIMPLE_VAR_REPLACE_NA" translate-value-name="{{name}}" translate-value-username="{{username}}" translate-default="Hello {{name}} ({{username}})"></div>

<br/><br/>
<div>{{'TESTING1_SIMPLEHTML' | translate}}</div><!-- doesn't compile the html -->
<div translate="TESTING1_SIMPLEHTML" translate-default='DEFAULT(not used since there is a translation): This <b>translation</b> has a <a href="http://google.com" target="_blank">link</a>.'></div><!-- this and below compile the html -->
<div translate="TESTING1_SIMPLEHTML_NA" translate-default="DEFAULT(used since translation not available): This <b>translation</b> has a <a href='http://google.com' target='_blank'>link</a>."></div>
Uses ng-bind-html and sanitize: <div ng-bind-html="'TESTING1_SIMPLEHTML' | translate"></div>

<br/><br/>
<div translate="TESTING2_SCOPE" translate-values="{timer: timer}" translate-default="DEFAULT(not used since there is a translation): Seconds: <a href='http://google.com' target='_blank'>{{timer}} seconds</a>."></div>
<div translate="TESTING2_SCOPE" translate-value-timer="{{timer}}"></div>
<div translate="TESTING2_SCOPE_NA" translate-default="DEFAULT(used since translation not available): Seconds: <a href='http://google.com' target='_blank'>{{timer}} seconds</a>."></div>

<br/><br/>
<div compile-unsafe="'TESTING3_COMPILE' | translate"></div><!-- old way to do before angular 2.0-->
<div translate="TESTING3_COMPILE" translate-compile></div>
<div translate="{{'TESTING3_COMPILE_SCOPE'}}" translate-compile translate-value-name="{{name}}" translate-value-username="{{username}}" ></div> <!-- not sure of advantage of this style, but saw an example of it -->
<div translate="TESTING3_COMPILE_SCOPE"       translate-compile translate-value-name="{{name}}" translate-value-username="{{username}}" ></div> 
<div translate="TESTING3_COMPILE_SCOPE"       translate-compile translate-values='{ name: "Jake Smith", username: "jake-smith-101"  }' ></div>
 armyofda12mnkeys
armyofda12mnkeys
Jawaban edit 5 Oktober 2016 в 10:08
2
0
 Leo
Leo
23 Februari 2018 в 12:17
2018-02-23T12:17:16+00:00
Lebih
Sumber
Sunting
#22701081
"lng_pageFooter" : "Copyright © • 2018 • My Company • Powered by <a href=\"http://www.mycompany.com\">My Company™</a>"
...
$translateProvider.useSanitizeValueStrategy('escape');
....
app.filter('trusted', ['$sce', function($sce) {
    var div = document.createElement('div');
    return function(text) {
        div.innerHTML = text;
        return $sce.trustAsHtml(div.textContent);
    };
}])
....
<span ng-bind-html="'lng_pageFooter' | translate | trusted"></span>
1
0
Ya Basha
Ya Basha
18 Desember 2014 в 9:42
2014-12-18T09:42:30+00:00
Lebih
Sumber
Sunting
#22701077

Secara default AngularJS melarikan diri dan kode ini akan menampilkan untuk alasan keamanan, anda perlu untuk memberitahu sudut dari string anda don't ingin melarikan diri, di masa tua sebelum AngularJS 1.2 pengembang bisa melakukan itu dengan menggunakan ng-mengikat-html-tidak aman tapi di AngularJS 1.2 yang telah usang.

Untuk menggunakan html tag dalam string, di AngularJS 1.2+, anda perlu untuk men-download sudut-membersihkan modul dan memasukkannya ke dalam aplikasi anda ketergantungan.

Setiap string yang berisi kode html yang anda dapat menampilkannya dengan menggunakan ng-mengikat-html secara Otomatis menggunakan $membersihkan, dalam hal ini akan ng-mengikat-html=",&#39;add_card-judul&#39; | translate"

Untuk referensi:

Menengah

AngularJS Dokumentasi

1
0
 J.Pip
J.Pip
13 Januari 2014 в 2:32
2014-01-13T14:32:30+00:00
Lebih
Sumber
Sunting
#22701073

Aku mencoba kedua jawaban anda dan tidak satupun dari mereka bekerja pada 1.0.7 jadi untuk semua orang yang's bekerja pra 1.2 anda dapat melakukannya seperti ini

<p ng-html-bind-unsafe="'add_card_title' | translate"></p>
0
0
Related communities 2
JavaScript Indonesia
JavaScript Indonesia
14 533 pengguna
Grup JavaScript yang membahas JavaScript, framework JS, dan Node JS secara universal. Cek Pinned Message untuk keterangan lebih lanjut. Komunitas ReactJS: https://t.me/react_idn
Buka telegram
Angular Indonesia
Angular Indonesia
3 519 pengguna
Framework web development aplikasi web dan mobile https://angular.io/ Facebook Group https://www.facebook.com/groups/462764390497214/ Github Repo Angular ID https://github.com/angular-indonesia Medium Angular Indonesia https://medium.com/angularid
Buka telegram
Tambahkan pertanyaan
Kategori
Semua
Teknologi
Budaya / Rekreasi
Kehidupan / Seni
Ilmu Pengetahuan
Profesional
Bisnis
Pengguna
Semua
Baru
Populer
1
Asilbek Qadamboyev
Terdaftar 6 jam yang lalu
2
Akshit Mehta
Terdaftar 2 hari yang lalu
3
me you
Terdaftar 5 hari yang lalu
4
Никита иванов
Terdaftar 1 minggu yang lalu
5
Alex1976G_06
Terdaftar 1 minggu yang lalu
ID
JA
KO
RU
© de-vraag 2022
Sumber
stackoverflow.com
di bawah lisensi cc by-sa 3.0 dengan atribusi