Angular 在应用程序启动中不起作用

Posted

技术标签:

【中文标题】Angular 在应用程序启动中不起作用【英文标题】:Angular not working in app launch 【发布时间】:2018-03-22 06:28:40 【问题描述】:

我使用 Angularjs 在 Cordova 应用程序中工作,并且在 Chrome 和其他浏览器中看起来一切正常。但是如果我尝试将 apk 安装到 android,Angularjs 不会在启动时执行 index.html

但是,这是最奇怪的:如果我更改其他页面并返回 index.html,一切看起来都很好!如果我关闭应用程序并重新启动,一切都会恢复正常。有时,只是在几次之后,它会重复,只是在 index.html 中。

启动时我的 index.html:

enter image description here

正如我所说,这些页面在大多数情况下都可以正常工作:

enter image description here

我正在使用 Android 7.1.1 / Cordova 7.0.1 / Angular 1.6.4

index.html:('ng-owl-carousel' 中的每个 'ng-init' 都会发出一个 $http 请求)

    <!DOCTYPE html>
<html ng-app="baseApp">
<head>
<link rel="stylesheet" href="css/uikit.css" />
<link rel="stylesheet" href="css/header.css" />
<link rel="stylesheet" href="css/custom.css" />
<link rel="stylesheet" href="css/owl.carousel.min.css">
<link rel="stylesheet" href="css/animate.css" />

<script src="js/jquery.js"></script>
<script src="js/uikit.min.js"></script>
<script src="js/owl.carousel.js"></script>
<script src="js/angular.min.js"></script>
<script src="js/angular-owl-carousel-2.js"></script>
<script src="js/index.js"></script>
<script src="js/controller-home.js"></script>
<script src="js/controller-list.js"></script>
<script src="js/controller-rede.js"></script>
<script src="js/controller-config.js"></script>

</head>
<body ng-controller="carousel" ng-cloak>
<header ng-include="'templates/header-search.html'"></header>

<section>
<ng-owl-carousel class="owl-theme" owl-items="items" owl-properties="properties" owl-ready="ready($api)">
<div ng-controller="home">
<div ng-include="'templates/home.html'" ng-show="owl_page == 0" ng-init="init_home();"></div>
</div>
<div ng-controller="listas">
<div ng-include="'templates/listas.html'" ng-show="owl_page == 1" ng-init="init_listas();"></div>
</div>
<div ng-controller="rede">
<div ng-include="'templates/rede.html'" ng-show="owl_page == 2" ng-init="generalSearchFilter('notify');"></div>
</div>
<div ng-controller="config">
<div ng-include="'templates/config.html'" ng-show="owl_page == 3" ng-init="init_config();"></div>
</div>
</ng-owl-carousel>
</section>

<footer id="footer" ng-include="'templates/footer.html'"></footer>

<script src="cordova.js"></script>
</body>
</html>

【问题讨论】:

你能分享你的 index.html 吗? HMTL 共享 Keerthi。谢谢! 您可以尝试将 Angular 脚本添加为 html 中的第一个脚本标签并尝试吗? 【参考方案1】:

几天后,我决定更改所有 index.html 并更改我的代码以使用 $routeProvider 而不是 ng-include,我还将初始函数替换为 'angular.element(document).ready' + $timeout .好结局! :)

【讨论】:

以上是关于Angular 在应用程序启动中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

条件路由在 Angular 应用程序中不起作用

ngModel 在 Angular4 中不起作用

下载文件链接在 Angular 中不起作用

Angular 11 路由在 AWS S3 和 Cloudfront 中不起作用

TailwindCSS 在 Angular(延迟加载)子组件中不起作用

Angular 2 / 4 / 5 在 IE11 中不起作用