Javascript AngularJS在AdobeAIR中看不到内部分区和资源
我正在用AngularJS构建一个AdobeAIR应用程序。并且很快就遇到了一个问题,即在某个级别下无法看到分区和任何$http资源 我在这里读到:这是因为Angular查看URL的方式而不是使用app://但是在2.0+中,它不再有服务器匹配,所以我不能使用该正则表达式。。。如果这是个问题了 基本上如果我有一个index.html,比如:Javascript AngularJS在AdobeAIR中看不到内部分区和资源,javascript,regex,angularjs,air,Javascript,Regex,Angularjs,Air,我正在用AngularJS构建一个AdobeAIR应用程序。并且很快就遇到了一个问题,即在某个级别下无法看到分区和任何$http资源 我在这里读到:这是因为Angular查看URL的方式而不是使用app://但是在2.0+中,它不再有服务器匹配,所以我不能使用该正则表达式。。。如果这是个问题了 基本上如果我有一个index.html,比如: <div ng-include="'partials/header.html'"></div> <div ng-view&g
<div ng-include="'partials/header.html'"></div>
<div ng-view></div>
<div ng-include="'partials/footer.html'"></div>
即使我在索引路径上调用它,它也找不到JSON文件,因为工厂不知道在哪里可以找到该文件
设置也不能修复它,但也会断开链接,所以这不是一个解决方案
有什么想法吗?我假设它很简单…这听起来更像是服务器问题 您是否将路径与哈希一起使用?如果没有,请尝试更改地址栏路径和相对URL,可能会使bowser感到困惑
您是否正在使用grunt构建项目?值得一试,然后您可以使用它将它们构建到一个js文件中。实际上,没有任何理由从生产环境中多次请求html表单。从web服务器加载index.html 然后,您的所有资源都将被加载,包括angularJS,它将加载模板之类的东西 您可以使用StageWebView,如下所示:-
var webView:StageWebView = new StageWebView();
public function StageWebViewExample() {
webView.stage = this.stage;
webView.viewPort = new Rectangle( 0, 0, stage.stageWidth, stage.stageHeight );
webView.loadURL( "http://localhost:9000/app/index.html" );
}
其他选项包括在我对OP的问题的评论中,但这应该可以很好地解决OP定义的问题约束。您可以使用/like'/partials/header nav.html'作为前缀吗?尝试过了,但这与将基href设置为app://一样,也不起作用……这将起作用。尝试一下:。在构建时,这将把模板内联到一个JS文件中,并预先将其缓存在templateCache中。这对资源或ng-Include不起作用。ngInclude与$templateCache一起工作,因此grunt包。我提到的grunt任务将东西放在$templateCache中。桌面上的AIR客户端和任何资源—JS和HTML模板都会得到处理。CSS可能会出现在你提到的没有问题的首页上。如果URL是完全限定的,REST调用将起作用-建议重新启动,您可以在其中指定基本URL。但是没有服务器。它在空气中运行,因此可以脱机使用。
phonecatServices.factory('Phone', ['$resource',
function($resource){
return $resource('phones/:phoneId.json', {}, {
query: {method:'GET', params:{phoneId:'phones'}, isArray:true}
});
}]);
var webView:StageWebView = new StageWebView();
public function StageWebViewExample() {
webView.stage = this.stage;
webView.viewPort = new Rectangle( 0, 0, stage.stageWidth, stage.stageHeight );
webView.loadURL( "http://localhost:9000/app/index.html" );
}