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

  • Greater Than Gatsby Photoshop Actions & Lightroom Presets

    Greater Than

    11 ŞUBAT 2013
  • Project Mooncircle

    Project Moon

    6 Aralık 2009
  • Crossover

    Crossover

    18 HAZİRAN 2007