Javascript NgCordova:未捕获引用错误:$cordovaOauth未定义

Javascript NgCordova:未捕获引用错误:$cordovaOauth未定义,javascript,angularjs,cordova,ionic-framework,ngcordova,Javascript,Angularjs,Cordova,Ionic Framework,Ngcordova,我在Cordova/Ionic应用程序中使用ngCordova。生成后,我收到以下错误消息: 未捕获引用错误:$cordovoauth未定义 index.html app.js 此外,如果我单击“登录”按钮 <div class="button button-block button-positive"ng-controller="modalController" ng-click="facebookLogin()">Facebook Login</div> 我不

我在Cordova/Ionic应用程序中使用ngCordova。生成后,我收到以下错误消息:

未捕获引用错误:$cordovoauth未定义

index.html

app.js

此外,如果我单击“登录”按钮

<div class="button button-block button-positive"ng-controller="modalController" ng-click="facebookLogin()">Facebook Login</div>

我不明白这个错误,所有的文件都在适当的地方,我做了所有的注射。我在这里遗漏了什么?

经过几天的研究,很快就找到了解决方案

注入$cordovoauth 注入
$cordovoauth
是正确的。如果分析
.run
函数的主体,您将发现一个
$ionicPlatform
函数调用,该调用被注入
.run
。因此,合理的做法是为此注入+1

在模块中添加ngCordova 这是一件令我非常恼火的事情,官方文档,他们要么没有在文档发生变化时及时更新文档,要么在细节上变得草率。我不得不在
app.module
中添加
ngCordova

这解决了这个问题,但又造成了另一个问题


希望这有帮助

经过几天的研究,很快就找到了解决方案

注入$cordovoauth 注入
$cordovoauth
是正确的。如果分析
.run
函数的主体,您将发现一个
$ionicPlatform
函数调用,该调用被注入
.run
。因此,合理的做法是为此注入+1

在模块中添加ngCordova 这是一件令我非常恼火的事情,官方文档,他们要么没有在文档发生变化时及时更新文档,要么在细节上变得草率。我不得不在
app.module
中添加
ngCordova

这解决了这个问题,但又造成了另一个问题


希望这有帮助

您需要在run函数中插入cordova auth。您是否参考了angular.js文件?@AmmarAjmal I在.run函数中插入了
$cordovoauth
,并将错误减少到一个(谢谢)。尽管
Uncaught错误:[$injector:unpr]未知提供程序:$cordovoauthProvider您需要在运行函数中插入cordova auth。您是否参考了angular.js文件?@AmmarAjmal I在.run函数中插入了
$cordovoauth
,并将错误减少为一个(谢谢)。尽管
未捕获的错误:[$injector:unpr]未知提供程序:$cordovaauthProvider,但我仍然收到此错误
.controller('modalController', ['$scope', '$ionicModal', '$firebase', '$ionicHistory', '$state', '$cordovaOauth', '$localStorage', '$sessionStorage','$location', function ($scope, $ionicModal, $firebase, $ionicHistory, $state, $cordovaOauth, $localStorage, $sessionStorage, $location) {
$ionicModal.fromTemplateUrl('templates/register.html', {
    scope: $scope,
    animation: 'slide-in-up',
    backdropClickToClose: false,
    hardwareBackButtonClose: false,
    focusFirstInput: true
}).then(function (modal) {
    $scope.modal = modal;
});

$scope.$on('$ionicView.beforeEnter', function (event, viewData) {
    viewData.enableBack = true;
    console.log(viewData.enableBack);
});

$scope.goBack = function () {
    $ionicHistory.goBack();
    console.log("back pressed");
};

/*Notice that after a successful login, the access token is saved and we are redirected to our profile.  The access token will be used in every future API request for the application.*/
$scope.facebookLogin = function () {
    $cordovaOauth.facebook("1234", ["email", "read_stream", "user_website", "user_location", "user_relationships"]).then(function (result) {
        $localStorage.accessToken = result.access_token;
        $location.path("/profile");
    }, function (error) {
        alert("There was a problem signing in!  See the console for logs");
        console.log(error);
    });
};