我使用Phonegap和AngularJS构建应用程序,以从本地JSON文件加载数据。
在测试期间,我在线托管文件,因此它们不在localhost或任何其他本地文件视图中。
如果我转到手机浏览器上的网址,这些故事就可以正常运行,但当我实际将文件上传到Phonegap Build并在我的设备上更新应用时,不会加载任何故事。
相关控制器如下:
storiesControllers.controller('StoryListCtrl', ['$scope', '$http', function($scope, $http) {
$http.get('story/stories.json')
.success(function(data) {
$scope.stories = data;
})
.error(function() {
alert("Error loading stories");
});
}]);
我没有收到错误提醒,所以我假设我们取得了成功?我知道角度也适用于<! - ngView - >评论会添加到空白< div ng-view>< / div>下面的页面中,该页面在桌面上,而手机的浏览器则以其他方式填充故事。
这可能是我的Angular设置错误吗?与Phonegap和Angular一起工作有什么关系,或者我的代码中可能出现语法错误?
我找不到其他人提到相同问题的参考资料,所以我知道我确定这是我的错,我只是不确定在哪里看...
感谢您的帮助,让我轻松一点,我对这两项技术都不熟悉!
答案 0 :(得分:1)
好的,这太荒谬了,但如果能帮助别人,我自己也值得尴尬!
错误原来是我的路由提供商和我要求的templateUrl。最初它是:
when('/stories', {
templateUrl: '/partials/stories.html',
controller: 'StoryListCtrl'
}).
事实上它需要
when('/stories', {
templateUrl: 'partials/stories.html',
controller: 'StoryListCtrl'
}).
区别在于对partials文件夹的引用之前的斜杠/。虽然浏览器能够理解/ partials是同一个东西,但是我的设备不能,所以我需要在链接之前删除斜杠以使其工作!