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

相關問題