繁体   English   中英

AngularJS:控制器仅在页面刷新后加载

[英]AngularJS: Controller loads only after page refresh

我将AngularJS与ASP.NET MVC结合使用来创建一个使用Angular控制器作为前端的应用程序。 当我在开发系统上运行应用程序时,它运行良好。 当我在本地IIS上部署它时,它可以正常工作。 但是,当我将其部署到生产服务器IIS时,角度控制器不会加载,并且需要刷新页面才能使其正常工作。

我看过类似的问题,例如: Angular应用仅在页面刷新时加载

我也没有安装任何其他扩展程序或插件来影响其他类似问题中建议的行为。

我把所有的JS都捆绑了,但这也无济于事。 JS的顺序似乎也是正确的,因为它在开发系统和本地IIS上都能很好地工作。

对于如何处理此问题,我没有其他想法。

这是控制台中错误的屏幕截图:

找不到控制器。

这是代码:

对于HomeController,

app.controller('homeController', function ($scope, $uibModal, HomeService, RequestService) {
    $scope.refreshOriginatorForms = function (searchCriteria) {
        HomeService.getOriginatorRequestForms(searchCriteria).then(function (response) {
           ....
        });
    }
    var originatorSearchCriteria = {
        Pager: {
            ItemsPerPage: 10,
            CurrentPage: 1
        }
    };
    $scope.OriginatorFormsSearchCriteria = originatorSearchCriteria;
    $scope.initialize = function () {
        $scope.refreshOriginatorForms($scope.OriginatorFormsSearchCriteria);
    };
}

在视图中使用ng-init =“ initialize()”调用$ scope.initialize方法。

我已将所有JS捆绑在一起

如果要最小化角度控制器,则应将这样的控制器编写为:最小化器不会重命名$scope类的重要角度关键字

app.controller('homeController',['$scope','$uibModal','HomeService','RequestService', function ($scope, $uibModal, HomeService, RequestService) {
$scope.refreshOriginatorForms = function (searchCriteria) {
    HomeService.getOriginatorRequestForms(searchCriteria).then(function (response) {
       ....
    });
}
var originatorSearchCriteria = {
    Pager: {
        ItemsPerPage: 10,
        CurrentPage: 1
    }
};
$scope.OriginatorFormsSearchCriteria = originatorSearchCriteria;
$scope.initialize = function () {
    $scope.refreshOriginatorForms($scope.OriginatorFormsSearchCriteria);
};
}])

我们终于解决了。 我们的网络工程师建议在DNS上启用CDN,这样就可以了。 一直以来,看着代码,问题就出在别的东西上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM