3

不工作在了Windows Phone 7.1仿真器的PhoneGap 3.0和AngularJS 1.2,为什么这不工作:

angulargap.controller('HomeController', ['$scope', '$routeParams', '$location', 
function ($scope, $routeParams, $location) { 
    $scope.$routeParams = $routeParams; 
    $scope.$location = $location; 
    $scope.message = "AngularJS!"; 
}]); 

错误消息:

ERROR:Error: [$injector:cdep] Circular dependency found: 
http://errors.angularjs.org/1.2.0-rc.2/$injector/cdep?p0= 

虽然这个工程:

angulargap.controller('HomeController', ['$scope', '$routeParams', 
function ($scope, $routeParams) { 
    $scope.$routeParams = $routeParams; 
    $scope.message = "AngularJS!"; 
}]); 

什么是与注射$位置服务脚麻这个特定的场景?在桌面浏览器中,Chrome和Internet Explorer都可以很好地工作。但它不适用于Windows Phone 7设备模拟器,也不适用于物理设备本身。

+0

我不知道是否与您的注入$位置为$范围的事。你能尝试删除'$范围。$ location = $ location'看看你是否仍然有问题?所以我们可以隔离这个问题 – KayakDave

+0

Hi @KayakDave,删除该行后问题是一样的。代码的代码来自一个在浏览器中很好用的例子。 – kroonwijk

+0

有趣的问题。如果你还没有看到,这里有关于你的错误的详细信息:http://docs.angularjs.org/error/$injector:cdep我试图尝试的下一件事是将这些全部放入模块中更紧密地控制范围。但那只是我猜测。 – KayakDave

回答

3

明白了吧...... AngularJS/PhoneGap/WindowsPhone组合存在大量问题。这一个由https://github.com/angular/angular.js/issues/2303?source=cc#issuecomment-20770025解决。从本质上讲,因为windows phone使用奇怪的协议前缀与一个正斜杠(x-wmapp0:/),$位置初始值设定变得疯狂,并触发一个错误,它在这个奇怪的错误消息中缝合暴露自己,完全不相关的错误:-(

我正要提出有关此修复程序在GitHub上AngularJS回购拉请求。

+0

问题在AngularJS 1.2.0-rc3中得到修复:http://code.angularjs.org/1.2.0-rc.3/ – kroonwijk

相关问题