我試圖調用$ http.get方法來加載頁面內容(這是一個電子郵件地址列表)。
當我的頁面加載時,它不斷調用http.get方法,而我只想調用它來加載電子郵件地址,然後將其存儲在範圍變量中。
我的視圖代碼是
<h2>Members</h2>
<!--<div>{{getTeamMembers()}}</div>-->
<div ng-repeat="member in teamParticipants">
<span> </span> <span>{{member}}</span>
</div>
我的控制器類是
Controllers.controller( 'FixedTeamController',函數($範圍,$ HTTP,$位置){
$scope.addTeam = function() {
$http.post('team', $scope.team).
success(function(fixedTeam, status, headers, config) {
//succcess
}).
error(function(fixedTeam, status, headers, config){
console.debug("error");
});
};
$scope.getTeamMembers = function(){
var teamUId = "12541254";
$http({method: 'GET', url: 'team/'+teamUId}).
success(function(data, status, headers, config) {
var members = [];
$(data.listOfMembers).each(function(id,partcipantEmail){
$http({method: 'GET', url: 'users?email='+partcipantEmail}).
success(function(participant, status, headers, config) {
members.push("new member");
})
});
$scope.teamParticipants = members;
}).
error(function(data, status, headers, config) {
console.debug("error");
});
};
});
代碼工作正常,但它不斷地調用getTeamMembers()函數,所以我的問題是,我該怎麼做才能調用該函數一次。
編輯::添加其他方法「addTeam」,用於添加新的團隊成員(它使用不同的視圖)。通過從內部控制器調用函數部分解決了問題,但是現在當我加載addTeam視圖時,$ scope.getFixedTeam()函數也被調用,我不想調用這個函數。我怎樣才能做到這一點 ? Regards,
註釋掉''