这是我的控制器代码:
app.controller('LoginCtrl', function($scope, $state, $ionicPopup, $firebaseAuth, $firebaseArray, $firebaseObject){
$scope.formData = { "email": "", "password": "" };
$scope.currentUserName ={}; $scope.currentUserImg ={};
var fb = new Firebase("https://bigzill.firebaseio.com/"); var fbAuth
= $firebaseAuth(fb); $scope.login = function(email, password){
if(email && password){
console.log("valid Form");
fbAuth.$authWithPassword({
email: email,
password: password
}).then(function(authData){
var authData = fb.getAuth();
var usersRef2 = new Firebase("https://bigzill.firebaseio.com/users/"+authData.uid);
usersRef2.on("value", function(snapshot) {
$scope.data = snapshot.val();
// data equals { "name": { "first": "Fred", "last": "Flintstone" }, "age": 53 }
//console.log($scope.data.username); // "Fred"
//console.log($scope.data.image_name); // 53
});
$state.go('tab.home');
}).catch(function(error){
console.log("Error: " + error);
$ionicPopup.alert({
title: "Login Error",
template: error
});
});
}else{
console.log("Invalid Form");
} } });
这是我的观点代码:
<ion-view view-title="Home Page">
<ion-content class="has-tabs" style="margin-top:25%;">
<!--search form-->
<!-- <ion-sub-header>
<div class="bar bar-header item-input-inset">
<label class="item-input-wrapper">
<i class="icon ion-ios-search placeholder-icon"></i>
<input type="search" ng-model="query.search.name" placeholder="Search">
</label>
</div>
</ion-sub-header>-->
<!--end of search form-->
<ul>
<li ng-repeat="data in data">{{ data.username }}</li>
</ul>
</ion-content>
</ion-view>
请问我做错了什么
答案 0 :(得分:1)
- 我有一个代码来登录firebase后显示我的信息,但它只是在控制台日志上推出,那不是我的意思 我希望在离子列表视图中显示数据。
醇>
您只需要将fb.getAuth()的结果设置为范围变量,然后就可以像任何其他对象一样迭代它。它可以很简单:
$scope.authData = fb.getAuth();
然后在前端:
<p>{{authData.username}}</p>
看起来你正在尝试重复。但是getAuth只会返回当前用户的auth数据,所以没有什么可以重复的。如果要显示所有用户,则必须在Firebase中创建一个新子项以存储该数据,然后您可以迭代该对象。
- 我如何确保authData仍然存在于我的内部 范围,即使我刷新浏览器
醇>
除非您更改会话长度或显式调用unauth(),否则您的身份验证数据会自动保留24小时。 Relevant doc
答案 1 :(得分:0)
哇.... 这个错误真的来自我。
我所做的是我在loginCtrl中调用我的$ scope.data 我的离子视图是从HomeCtrl调用的......
现在它的工作非常好,我感谢所有让我的代码铭记于心的人,我非常感谢您的关注。