我正在尝试使用Ionic和AngularFireDatabase
进行最基本的检索。我的代码如下:
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { SignInPage } from '../signin/signin';
import { FeedUser } from '../feeduser/feeduser';
import { FeedStylist } from '../feedstylist/feedstylist';
import { Keyboard } from '@ionic-native/keyboard';
import { AngularFireDatabase, FirebaseListObservable } from 'angularfire2/database';
@Component({
selector: 'page-sign-up',
templateUrl: 'signup.html'
})
export class SignUpPage {
stylist: boolean;
user: boolean;
items: FirebaseListObservable<any>;
constructor(public navCtrl: NavController, public keyboard: Keyboard, public af: AngularFireDatabase) {
this.items = af.list('/test');
console.log(this.items);
}
...
没有错误,但没有任何反应 - 控制台消息永远不会被记录...甚至不是null(如果它没有检索项目)。
我使用的是Ionic 3.5.0和iOS 10.这个问题只发生在iOS设备上,它可以在浏览器中使用。感谢
答案 0 :(得分:2)
> <?php namespace App\Http\Controllers\Auth; use
> App\Http\Controllers\Controller; use
> Illuminate\Foundation\Auth\AuthenticatesUsers; use
> Illuminate\Http\Request; class LoginController extends Controller {
> use AuthenticatesUsers;
> /**
> * Where to redirect users after login.
> *
> * @var string
> */
> protected $redirectTo = '/Dashboards';
> /**
> * Create a new controller instance.
> *
> * @return void
> */
> public function __construct()
> {
> $this->middleware('guest', ['except' => 'logout']);
> }
> public function username()
> {
> return 'username';
> }
> /**
> * Log the user out of the application.
> *
> * @param \Illuminate\Http\Request $request
> * @return \Illuminate\Http\Response
> */
> public function logout(Request $request)
> {
> $this->guard()->logout();
> $request->session()->flush();
> $request->session()->regenerate();
> return redirect('/login');
> } }
***
返回observable所以它需要一些时间来解析值并返回结果,但是在你的代码中你可以在解析observable之前立即访问可观察值。
您需要订阅可观察和访问值
示例
af.list('/test')
答案 1 :(得分:0)
以下是最终工作的内容:
this.items = af.list('/test');
this.items.subscribe(items => items.forEach(item => {
console.log(item.$value);
}));