AngularJS与Phonegap玩得不好?

时间:2014-09-16 12:30:34

标签: android angularjs cordova

我使用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一起工作有什么关系,或者我的代码中可能出现语法错误?

我找不到其他人提到相同问题的参考资料,所以我知道我确定这是我的错,我只是不确定在哪里看...

感谢您的帮助,让我轻松一点,我对这两项技术都不熟悉!

1 个答案:

答案 0 :(得分:1)

好的,这太荒谬了,但如果能帮助别人,我自己也值得尴尬!

错误原来是我的路由提供商和我要求的templateUrl。最初它是:

when('/stories', {
    templateUrl: '/partials/stories.html',
    controller: 'StoryListCtrl'
}).

事实上它需要

when('/stories', {
    templateUrl: 'partials/stories.html',
    controller: 'StoryListCtrl'
}).

区别在于对partials文件夹的引用之前的斜杠/。虽然浏览器能够理解/ partials是同一个东西,但是我的设备不能,所以我需要在链接之前删除斜杠以使其工作!