NgCordova:Uncaught ReferenceError: $cordovaOauth is not defined
NgCordova:Uncaught ReferenceError: $cordovaOauth is not defined
我在 Cordova/Ionic 应用程序中使用 ngCordova。构建后我收到此错误消息:
Uncaught ReferenceError: $cordovaOauth is not defined
index.html
app.js
此外,如果我点击登录按钮
<div class="button button-block button-positive"ng-controller="modalController" ng-click="facebookLogin()">Facebook Login</div>
我会收到另一条错误消息。
错误
这是函数所在的位置
控制器
.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);
});
};
我不明白这个错误,所有文件都已到位并且我进行了所有注入。我在这里错过了什么?
经过几天的研究,很快就制定了解决方案。
正在注入 $cordovaOauth
注入 $cordovaOauth
是正确的。如果你分析 .run
函数的主体,你会发现一个 $ionicPlatform
函数调用,它被注入到 .run
。因此注入 $cordovaOauth
, +1 是合乎逻辑的。
在你的模块中添加 ngCordova
这真的让我对官方文档感到恼火,他们要么没有在做出更改后立即正确更新他们的文档,要么在涉及到时变得马虎细节。我必须在 app.module
.
中添加 ngCordova
这解决了这个问题,但又产生了另一个问题。
希望对您有所帮助
我在 Cordova/Ionic 应用程序中使用 ngCordova。构建后我收到此错误消息:
Uncaught ReferenceError: $cordovaOauth is not defined
index.html
app.js
此外,如果我点击登录按钮
<div class="button button-block button-positive"ng-controller="modalController" ng-click="facebookLogin()">Facebook Login</div>
我会收到另一条错误消息。
错误
这是函数所在的位置
控制器
.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);
});
};
我不明白这个错误,所有文件都已到位并且我进行了所有注入。我在这里错过了什么?
经过几天的研究,很快就制定了解决方案。
正在注入 $cordovaOauth
注入 $cordovaOauth
是正确的。如果你分析 .run
函数的主体,你会发现一个 $ionicPlatform
函数调用,它被注入到 .run
。因此注入 $cordovaOauth
, +1 是合乎逻辑的。
在你的模块中添加 ngCordova
这真的让我对官方文档感到恼火,他们要么没有在做出更改后立即正确更新他们的文档,要么在涉及到时变得马虎细节。我必须在 app.module
.
ngCordova
这解决了这个问题,但又产生了另一个问题。
希望对您有所帮助