SORU
21 ŞUBAT 2012, Salı


AngularJS : Ekle HTML içine görüntülemek

Açısal denetleyicisi HTML bir parçası oluşturmak ve bu HTML görünümünde gösterilen olması mümkün mü?

Bu id : value çift iç içe geçmiş bir liste haline tutarsız JSON bir blob açmak için bir gereklilik geliyor. Bu nedenle HTML denetleyici oluşturulur ve şimdi göstermek için sabırsızlanıyorum.

Model bir özellik oluşturdum, ama bunu sadece HTML baskı olmadan görünümünde bu hale.


Güncelleme

Sorun açısal tırnak içinde bir dize olarak oluşturulan bir HTML işleme doğar görünüyor. Bu etrafında bir yol bulmaya çalışacaktır.

Örnek denetleyicisi :

var SomeController = function () {

    this.customHtml = '<ul><li>render me please</li></ul>';
}

Örnek görünüm :

<div ng:bind="customHtml"></div>

Verir :

<div>
    "<ul><li>render me please</li></ul>"
</div>

CEVAP
10 HAZİRAN 2012, Pazar


Swaff cevabı bu tarih itibariyle doğru ama bu işe yaramıyor artık; şimdi kullanın:

İçin Açısal 1.3, HTML kullanımı ng-bind-html:

<div ng-bind-html="thisCanBeusedInsideNgBindHtml"></div>

ve kullanımı 15 ** denetleyicisi html dize dönüştürmek.

 $scope.thisCanBeusedInsideNgBindHtml = $sce.trustAsHtml(someHtmlVar);

GÜNCELLEME 2: Sasha noktaları, Açısal 1.2, kullanmak için:

<div ng-bind-html="expression"></div>

GÜNCELLEME: Damax belirttiği gibi, kullanın:

<div ng-bind-html-unsafe="expression"></div>

ESKİ YOLU:

<div ng-bind-html="expression"></div>

yerine

<div>{{expression}}</div>

https://github.com/angular/angular.js/blob/master/CHANGELOG.md (yukarı / aşağı kaydırın, arama için "ng-bind-html Bu sayfa değişimi ayrıntılarını görmek için")

AYRICA ben artık bunu gerektiriyor "ngSanitize" modülü (aldım kapattı bu süre ve anlayamadım neden değildi, işçi ve belgelere görünmüyor açık nasıl bulunur bu modülü). 2 adım vardır:

  1. angular-sanitize.min.js kaynak, yani: vardır
    <script src="lib/angular/angular-sanitize.min.js"></script>

  2. Js dosyası (denetleyici veya genellikle app.js), yani: ngSanitize vardır
    angular.module('myApp', ['myApp.filters', 'myApp.services', 'myApp.directives', 'ngSanitize'])

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Max Lee

    Max Lee

    18 AĞUSTOS 2006
  • Pál Zoltán Illés

    Pál Zoltán

    30 NİSAN 2007