2014-03-19 312 views
2

我有一個angularjs的例子,我面臨一個問題是,我已經加載html視圖,然後一個div是來自控制器(數據庫調用)的內容html數據也數據內容html標記如<hr> <images>但顯示爲它不是呈現HTML,所以我想呈現該HTML部分。加載頁面後加載html conent?

我知道我的問題被延遲的數據來自數據庫,以便將dispay作爲計劃文本。

我使用ng-bind-html直到它們顯示疼痛文本而不呈現html標記。

我有一個答案是延遲頁面加載,將成功工作,但這不是正確的方式bcoz有些時候數據庫數據可能需要很長時間,在這種情況下不起作用。

+0

請清楚你的需求和你的英語,很混亂。更好地把它放在點 –

+0

@RaviMone在控制器中我調用一個數據庫和數據庫查詢返回內容放在視圖中的html內容。 –

回答

3

嗨傑伊你必須作出你的例子,這是名稱bind-unsafe-html通過你的HTML字符串或內容的指令,然後它將重新呈現您的HTML內容。 例如。

app.directive('bindUnsafeHtml', ['$compile', function ($compile) { 
    return function(scope, element, attrs) { 
     console.log("in directive"); 
     scope.$watch(
     function(scope) { 
      // watch the 'bindUnsafeHtml' expression for changes 
      return scope.$eval(attrs.bindUnsafeHtml); 
     }, 
     function(value) { 
      // when the 'bindUnsafeHtml' expression changes 
      // assign it into the current DOM 
      element.html(value); 

      // compile the new DOM and link it to the current 
      // scope. 
      // NOTE: we only compile .childNodes so that 
      // we don't get into infinite loop compiling ourselves 
      $compile(element.contents())(scope); 
     } 
    ); 
}; 
}]);