我有控制器和执行AJAX请求的方法:
.controller('EditProfileController', ['$scope', '$http') {
// Do AJAX query here
// Some methods for update profile
}]);
此 Angular JS 文件中还有$routeProvider
:
.config(function ($routeProvider) {
$routeProvider
.when('/profile/personal/:type', {
templateUrl: '/personal.html',
controller: 'EditProfileController'
})
}
问题是当我用URL /profile/personal/:type
打开页面时,它再次调用控制器EditProfileController
并在其中调用AJAX方法。
我该如何解决?
HTML 代码:
<div ng-controller="EditProfileController">
<!-- Here are loaded data from AJAX response
</div>
解决方案:
问题是在模板中加倍ng-view
:
<div ng-show="isLoaded" ng-view></div>
<div ng-show="!AILoading" ng-view></div>
答案 0 :(得分:7)
只需从HTML中删除ng-controller
指令,因为路由器已经在处理此