2015-04-01 60 views
0

我在服務器ng-controller HTML文件:Angular JS控制器是由AJAX返回的嗎?

<div id="ng-app" ng-app="app"> 
     <div ng-controller="AppController" nv-file-drop="" uploader="uploader"> 
</div> 

這個文件是由AJAX請求令牌,並在頁面返回。但是這個控制器不活躍。如何解決它?

例子:

$.ajax({ 
     url: '...', 
     success: function(response) { 
      $('body').html(response.html); // where html is template from server with controller 
     } 
    }); 
+1

您能否創建一個完整的示例?使用一些在線js \ html編輯器是首選 – 2015-04-01 22:21:11

+0

已更新的問題。 Angular JS在構建DOM頁面期間沒有加載這個模板,看起來是這個問題 – Sahe 2015-04-01 22:25:02

+0

當你的ajax響應以成功結束時你有任何其他的ng-app被初始化爲高於那個響應? – IOR88 2015-04-01 22:33:10

回答

2

你需要引導它。

$.ajax({ 
     url: 'response.html', 
     success: function(response) { 
      $('body').html(response); // where html is template from server with controller 
      angular.bootstrap(document.getElementById("ng-app"), ['app']); 
     } 
    }); 
+0

我得到errro:'未捕獲的錯誤:[ng:btstrpd]' – Sahe 2015-04-01 23:07:34

+0

您可能會引導兩次:https://docs.angularjs.org/error/ng/btstrpd – Hoyen 2015-04-02 14:16:47