我之前使用过角度,但这是我第一次设置它。
我正在努力让Firebase简单登录与Angular,Node和Express一起使用。我的目标是,当用户点击登录按钮时,他们会使用他们的Facebook登录应用程序(稍后会添加Twitter和电子邮件+密码)。
问题是,当我点击登录时,会从主控制器触发页面(和警报)的事件,但不是我设置的控制器。我已经尝试在app.config()部分添加/更改控制器,使用过去的代码,从头开始,在无数的教程之后移动名称,甚至做一个简单的基本情况来拥有console.log。仍然没什么,我可能完全误解了事情,但我怎么能让这个工作?
脚本文件:
var app = angular.module('myApp',
['ngRoute', 'app.controllers', 'app.directives', 'firebase', 'ngTouch']);
app.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'templates/index.html',
controller: 'MyCtrl'
})
.otherwise({
redirectTo: '/home'
});
});
var controllers = angular.module('app.controllers', []);
controllers.controller('MyCtrl', ['$scope', 'angularFire',
function($scope, angularFire) {
var users = new Firebase('https://test.firebaseio.com');
//angularFire(users, $scope, "users");s
$scope.$on('$locationChangeStart', function (event) {
event.preventDefault();
console.log('sdfiojdsfdsf');
alert('dsifjosdf');
});
}]);
controllers.controller("MyAuthCtrl", ["$scope", "$rootScope", "$firebaseAuth",
function($scope, $firebaseAuth) {
var ref = new Firebase("https://test.firebaseio.com");
$scope.auth = $firebaseAuth(ref);
// $scope.auth.user will be `null` until the user logs in.
$rootScope.$on("$firebaseAuth:login", function(evt, user) {
console.log("User " + user.id + " successfully logged in!");
});
$rootScope.$on("$firebaseAuth:logout", function(evt) {
console.log("User logged out!");
});
}]);
HTML
<div ng-controller="MyAuthCtrl">
<ul>
<li> </li>
<li> <a href="#" id="fblogin" ng-click="auth.$login('facebook')">Login Facebook</a></li>
<li> </li>
<li><a href="#" ng-click="auth.logout()">Log Out</a></li>
</ul>
</div>
由于