[英]ng-init not working if multiple items in angularjs, but working for single item
我是stackoverflow的新手,如果這個問題不合適,我很抱歉。
我在ng-repeat(會話)中的ng-init中聲明了一個函數,通過傳遞會話ID來獲得問題長度。
//This is the HTML Part
<tr ng-repeat="session in sessionslist" ng-init='getQuestionsofSession(accessors.getId(session))' >
<td>{{session.name}}</td>
<td>{{session.speakers.length}}</td>
<td><p>{{questions.length}}</p></td>
</tr>
//This is the ANGULAR Part
$scope.getQuestionsofSession = function(sessionid){
$http.get('/api/audiencepanel/getquestions/'+sessionid)
.success(function(data){
$scope.questions= data;
});
};
//Getting sessions list
$scope.getsessions= function(){
$http.get("api/getsession/"+$stateParams.id).success(function(data){
$scope.sessionslist = data;
});
因此,如果會話長度為單個,則ng-init正在工作,但會話長度為多個,則不顯示任何數據。 $ scope.questions未顯示任何數據
順便說一下,會話表是不同的,問題表是不同的,問題是根據會話ID存儲的。 因此,需要根據會話ID在會話數據中提問數據
有沒有其他辦法讓這個工作?
在每個ng重復內部,我們有不同的范圍。 所以sessionslist[0]
question
對象與sessionslist[1]
而不是使用init你可以這樣做
$scope.getsessions= function(){
$http.get("api/getsession/"+$stateParams.id).success(function(data){
angular.forEach(data, function(value, key){
$http.get('/api/audiencepanel/getquestions/'+value.id)
.success(function(data1){
value.questions= data1;
});
});
$scope.sessionslist = data;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.