我是新來的stackoverflow,對不起,如果這個問題是不正確的。如果在angularjs中有多個項目,但ng-init不工作,但是爲單個項目工作
我已經在ng-init中通過ng-repeat(session)聲明瞭一個函數,通過傳遞會話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存儲。因此,需要基於會話編號的會話數據中的問題數據
有沒有其他方法可以使此工作?
不要使用NG-初始化。正如文件所述,它幾乎不應該被使用。直接從控制器初始化視圖所需的數據。順便說一句,擁有一個$ scope.questions字段沒有什麼意義,它包含一個會話的問題,因爲你正在顯示幾個會話。 –
而不是在會話列表中使用ng-init循環並提取問題 – simon
對ng-repeat中的每個元素提出API調用是不好的做法。你究竟在尋找什麼? – Aravind