1
我有以下的 「主模板」:無限循環使用NG-包括
<html ng-app="myApp"><head/>
<body ng-controller="HomeController">
<div class="container" id="mainContent" ng-include="'dashboard/'+menu()+'.html?v='+getRandom()"></div>
</body>
歸屬內置控制器我按 「菜單」 - 參數的內容包括:
myApp.controller('HomeController',function($scope,$location) {
$scope.menu=function() {
var submenu=$location.search().menu;
if (submenu===undefined) {
submenu="home"
}
return submenu;
},
$scope.getRandom=function() {
return Math.floor((Math.random()*6)+1);
},
$scope.$on('$includeContentLoaded', function(event) {
$(".bsSwitch").bootstrapSwitch();
});
});
(隨機部分僅用於在我的開發環境中停止緩存)
包含的模板如下所示:
<div class="easyBox" ng-controller="CompanyController" ng-init="init()">
<span>nothing to see at all</span>
</div>
並具有以下控制器:
myApp.controller('CompanyController',function($scope,$http,$location) {
$scope.init=function() {
$http.get('company/get/mine').
success(function(data,status,headers,config) {
aboutMe=data;
console.log("nice");
}).
error(function(data,status,headers,config){
console.log("there was an error");
// redirectToLogin();
});
},
$scope.aboutMe
});
現在的問題是,在init() - 從companyController函數被調用的無限循環。什麼可能導致這個問題,如何解決?
謝謝。我更新了我的問題(遵循你的建議)。仍然無止境的循環(並且遠遠超過10次(無限))似乎是造成所有麻煩的$ get() –
那麼,你不應該編輯問題本身的原始內容 - 這會使得答案變得毫無意義尊重這個問題)給未來的參觀者。保持原始問題不變,如有需要,請在底部添加說明。 –
@OleAlbers,它適用於我:http://plnkr.co/edit/G3T0PJWb7lMPt44xSRBD?p=preview –