2013-11-28 17 views
0

爲什麼只有不使用$ resource.get()的工作?我正在使用kendo-angular來更新。這與async有關嗎?主變量看起來完全一樣,所以這與$ resourse有關。我是什麼missing`

這工作:

app.controller('SubjectCntrl', ['$scope', 'categoryService', function($scope, categoryService) { 

    var main = categoryService.getCategories(); 
    var subjects = { 
     data : [main] 
    }; 
    $scope.subjects = { 
     dataSource: subjects 
    }; 
}]); 

這不:

app.controller('SubjectCntrl', ['$scope', 'categoryService', 'ApiFactory', function($scope, categoryService, ApiFactory) { 
    ApiFactory.get(function(categoriesData) { 
     var main = categoryService.getCategories(); 

     var subjects = { 
      data : [main] 
     }; 
     $scope.subjects = { 
      dataSource: subjects 
     }; 
    }); 
}]); 

工廠:

app.factory('ApiFactory', ['$resource', function($resource) { 
    return $resource('http://localhost:8080/rest/forum/categories/1'); 
}]); 

服務:

app.service('categoryService', ['$resource', function($resource){ 


    this.getCategories = function(){ 
     var farmingSubjects = [ {text: "Poteter", spriteCssClass: "subject"}, {text: "Agurk", spriteCssClass: "subject"} ]; 
     var forestSubjects = [ {text: "Tall", spriteCssClass: "subject"}, {text: "Gran", spriteCssClass: "subject"} ]; 
     var animalSubjects = [ {text: "Hundar", spriteCssClass: "subject"}, {text: "Katter", spriteCssClass: "subject"} ]; 

     var farming = { text: "Jordbruk", items: farmingSubjects }; 
     var forest = { text: "Skogshold", items: forestSubjects }; 
     var animals = { text: "Dyrebruk", items: animalSubjects }; 

     var subjects = [farming, forest, animals ]; 

     var main = { text: "Huvudemner", expanded: true, items: subjects}; 
     return main; 
    }; 
}]); 

編輯:毫無疑問地調用成功函數。

ApiFactory.get(function(data){ 
     console.log('success, got data: ', data);  
    }, function(err){ 
     alert('request failed'); 
    }); 
+0

顯示'categoryService'代碼。 – Chandermani

+0

如果對'ApiFactory'的調用失敗,那麼您的回調代碼將不會被調用。 – Chandermani

+0

@Chandermani請參閱編輯:它只是返回數據。沒什麼奇怪的 – pethel

回答

0

我認爲第二種情況不起作用,因爲ApiFactory呼叫失敗。你已經宣佈的回調是成功的。

+0

它被調用。我可以在兩種情況下記錄它。唯一的錯誤是該範圍沒有被更新。 – pethel

+0

我會嘗試添加一個錯誤。將搜索該。但記錄數據類別數據過去作爲參數看起來很好。 – pethel

相關問題