我可能會缺少一些基本的東西,但我堅持如何做到這一點。
我有一個NG-重複塊:
<div data-class-block
ng-repeat="class in classList(1304)"
data-object="class">
</div>
這是叫我的一個功能:
$scope.classList = function(semester){
var list = myClassesFactory.list(semester)
.then(function (data){
return data.classes;
}, function (error){
console.log('ruh roh: error in myclasses controller');
});
return list;
};
這又調用工廠:
myclassesNest.factory('myClassesFactory', ['$http', '$resource', '$q', function ($http, $resource, $q) {
var myClassesResource = $resource(':sem/myclasses.json',
{},
{'query': {method: 'GET', params: {sem: '@sem'}, isArray: false} });
var factory = {
list : function(semester) {
var deferred = $q.defer();
myClassesResource.query({sem:semester},
function (resp) {
deferred.resolve(resp);
});
return deferred.promise;
}
};
return factory;
}]);
這完全炸燬瀏覽器拋出錯誤後錯誤,直到選項卡崩潰。大聲笑。 Probabaly與消化週期有關,無可否認這是Angular的一個領域,我並不完全理解。
我把呼叫打包到myClassesFactory.list
的函數中,因爲當我將它直接賦值給$scope
變量時,我得到一個錯誤,說它是一個對象而不是函數。
TLDR;我需要能夠從模板中傳入一個學期來選擇從端點返回的哪組類資源。
任何幫助,非常感謝!
(之前有人說要閱讀$ resource docs,我想說我今天有好幾次了,而且那裏的例子沒有說明這一點,因爲他們將參數硬編碼到控制器)。
你可以告訴你是否回來的JSON?什麼是錯誤被拋出?你可以把一個展示行爲的JSFiddle例子放在一起嗎? –