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

  • HereWeStayKings

    HereWeStayKi

    3 NİSAN 2013
  • Muse

    Muse

    28 EYLÜL 2006
  • Vicious Computers

    Vicious Comp

    14 EKİM 2006