原生 ios phonegap/cordova 的 Angular $templateCache 和 $stateProvider 修复

Posted

技术标签:

【中文标题】原生 ios phonegap/cordova 的 Angular $templateCache 和 $stateProvider 修复【英文标题】:Angular $templateCache and $stateProvider fix for native ios phonegap/cordova 【发布时间】:2016-02-19 15:28:38 【问题描述】:

Angular $templateCache、$stateProvider 和 ng-include 在 Web 浏览器中运行良好,但在使用 phonegap/cordova 的原生 ios 上,它不会加载模板或进入状态

我已经检查了清单:

删除<base href="/"> 确保路径是相对的“template.html” 与“/template.html” 确保 html5Mode 为 false 在 Angular 之前加载 templates.js 确保依赖注入到位

以下是一些在浏览器中有效但在本机 ios 上无效的示例。

$stateProvider.state('start', 
    url: '',
    templateUrl: 'templates/start/start.html'
);

$state.go('start');

<div ng-include=" 'fileFromTemplatecache.html' "></div>

有什么想法吗?我找不到有效的解决方案。

【问题讨论】:

它应该可以正常工作,要么是你的路径有问题,要么是你的项目设置有问题。也许您的项目文件夹结构的屏幕截图会有所帮助 谢谢,@FranePoljak - 这是一个配置问题。我在下面添加了我的解决方案。 对于 iOS,您可以在 Safari -> Developer -> 选择设备/模拟器(您的应用运行的位置)-> Index.html 中检查错误,希望这有助于您更轻松地调试错误下次 【参考方案1】:

我敢肯定,其他人会遇到这个问题。该解决方案与移动构建根目录中的 config.xml 文件有关。这对我有用...

<allow-navigation href="file://*/*"/>
<allow-navigation href="*"/>
<allow-intent href="file://*/*"/>
<allow-intent href="*"/>
<access origin="file://*/*"/>
<access origin="*"/>

【讨论】:

以上是关于原生 ios phonegap/cordova 的 Angular $templateCache 和 $stateProvider 修复的主要内容,如果未能解决你的问题,请参考以下文章

phonegap+cordova+ionic调用原生API

PhoneGap/Cordova:如何使用 cookie (iOS)?

Phonegap (Cordova 2.9.0) iOS 上的地理定位

ios状态栏phonegap/cordova的黑色文本颜色

Phonegap (Cordova) iOS 按钮单击

在 iOS 上安装 PushWoosh (PhoneGap/Cordova)