2016-12-29 4 views
0

ng-bind-html을 사용 중이며 클래스 이름으로 HTML을 가져 오지만 ID 이름이 모두 누락되었습니다. 이 원인은 무엇입니까?ng-bind-html이 ID 이름을 인식하지 못합니다.

실제 코드 예제 :

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">.... 

공지 사항 클래스 이름이 있지만 IDS가 사라 졌어요. 이제는 모든 ID를 클래스로 전환 할 수 있지만 ID 이름도 인식 할 수 있어야합니다.

왜 이런 일이 일어나는 지 알고 계십니까? (예, ngSanitize를 주입했습니다)

미리 감사드립니다!

답변

0

의도적 인 위생 상태에서 요소의 스트립 핑 ID입니다. 이 문제를 야기한 원래 커밋을 v1.0.0-rc2에서 확인할 수 있습니다.

추론은 커밋에 주어진하지만 striping id's from img tags에 대해 AngularJS와 상대로 나중에 문제는이 설명되지 않습니다

우리가 id을 제거하고 name가 브라우저에 넣어 것입니다 이유 window

<div id="angular">window.angular을 요소로 덮어 씁니다. 이것은 보안 문제로 간주되므로 허용하지 않습니다.

mhevery