2013-08-26 90 views
1

我創建了像我使用這樣的指令之前執行。他們有自己的控制器。在EditCarController我從我創建的RESTful web服務檢索汽車。我還爲指令(在指令的配置對象中)分配了一個控制器函數,我根據汽車等設置了一些類別。但是!指令代碼控制器代碼

由於汽車從頁面控制器異步加載,所以在指令控制器代碼開始運行時,並不總是(隨機)加載。我該如何解決這個問題?我需要確定我傳遞給該指令的汽車是否已加載。

回答

1

您可以在指令的控制器中使用$watch來知道數據何時從服務器返回。事情是這樣的:

$scope.$watch("car", function(newVal) { 
    if (angular.isDefined(newVal) 
    { 
     //get stuff based on car (newVal) 
    } 
}); 

$watch將在undefined傳遞,直到數據已經從服務器返回,此時你可以做任何你需要與對象