ng-bind-html не распознает имена идентификаторов

Я использую ng-bind-html, и он загружает HTML с именами классов, но все имена идентификаторов отсутствуют. Чем это вызвано?

реальный пример кода:

service partial example

  var assets = {
      'sampleInvoice': '<div id="invoice-div"><table id="invoice-table-id" cellspacing="0" cellpadding="0" border="0"><tbody>......
    }

  controller portion:

    $scope.invoiceDetails = function(params) {
        console.log("Here I am ");
        var modalInstance = $uibModal.open({
            templateUrl: 'invoice-details-modal',
            controller: 'invoiceDetailsCtrl',
            windowClass: 'invoice-details-modal',
            resolve: {
                invoice: function resolveInvoiceTemplate($q) {
                    return $q.resolve($templateCache.get("sampleInvoice"));
                }
            }
        });

HTML-часть

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

Что производит:

<div><table cellspacing="0" cellpadding="0" border="0"><tbody><tr valign="top"><td><table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td class="invoice-logo-td"><div class="invoice-logo">....

Обратите внимание, что имена классов есть, но идентификаторы исчезли. Теперь я могу переключить все идентификаторы на классы в качестве обходного пути, но похоже, что он также должен уметь распознавать имена идентификаторов.

Кто-нибудь знает, почему это происходит? (Да, я ввел ngSanitize)

Заранее спасибо!


person MMM    schedule 29.12.2016    source источник


Ответы (1)


Удаление идентификаторов из элементов в преднамеренной санитарии. Вы можете увидеть исходный коммит, вызвавший это, в v1.0.0-rc2. .

Обоснование не приводится в коммите, но более поздняя проблема, поданная против angularjs, касается чередования идентификаторов. из тегов img объясняет это:

причина, по которой мы удаляем id и name, заключается в том, что браузеры помещают их на window

<div id="angular"> перезапишет window.angular элементом. Это считается проблемой безопасности, поэтому мы этого не допускаем.

все

person Jonathan Gawrych    schedule 21.06.2017