2015-11-02 82 views
-1

當我使用ng-include包含html文檔時,我的文件正確加載。當ng-include成功時,jQuery .load()失敗

<div ng-include="'calendar.html'"></div> 

但因爲通過我的角度控制器傳遞到文檔的數據,我需要當我按下一個按鈕,該文件再次加載。

我試圖使用jQuery的​​函數加載頁面

function test(){ 
    $("#calendar").load("templates/calendar.html"); 
} 

此加載頁面,但角元素不正確加載,你可以在開發者工具的屏幕截圖,我把看。

enter image description here

這應該是剛剛超過主網頁彈出一個元素,所以我不希望使用ui-view和路由選項。

有誰知道我能做什麼?

+5

在AngularJS中刷新視圖的正確方法是通過更新$範圍上的模型。你不應該調用jQuery.Load - 這是以角度方式思考事情的錯誤方法。 – pixelbits

+0

另外,你的服務器中可能沒有直接路由到'「templates/calendar.html」'這就是爲什麼你必須通過角度來獲得內容。 – jfriend00

+0

@pixelbits所以我應該仍然納入文件,但只是更新模型? –

回答

0

HTML:

<div ng-include src="CalenderUrl"></div> 

控制器:

$scope.CalenderUrl="calendar.html"; //如果你想通過任一按鈕點擊刷新calendar.html寫你的實際路徑

。然後寫功能

$scope.reload = function() { 
    $scope.CalenderUrl = null; 
    $timeout(function() { 
    $scope.CalenderUrl = "calendar.html"; 
    }, 0); 
}