【发布时间】:2018-03-24 10:11:58
【问题描述】:
抱歉,这里是新手问题。这是我的 firebase_service.dart
import 'package:firebase/firebase.dart' as fb;
import 'package:firebase/firestore.dart' as fs;
import 'dart:async';
import 'package:angular/angular.dart';
@Injectable()
class FirebaseService {
fb.User user;
fs.DocumentReference reference;
FirebaseService() {
fb.initializeApp(
apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
authDomain: "xxxxxx.firebaseapp.com",
databaseURL: "https://xxxxxx.firebaseio.com",
projectId: "xxxxxxx",
storageBucket: "xxxxxxxxxxxx.appspot.com",
messagingSenderId: "xxxxxxxxxx"
);
fb.auth().onAuthStateChanged.listen(_authChanged);
}
void _authChanged(fb.User event) => user = event;
Future signIn() async {
try {
await fb.auth().signInWithPopup(new fb.GoogleAuthProvider());
}
catch (e) {
print("$runtimeType::login() -- $e");
}
}
void signOut() => fb.auth().signOut();
Future submitName(id, name) async {
reference = fb.firestore().doc('userdata/$id');
try {
await reference.set(id(name));
} catch (e) {
print('error submitting: $e');
}
}
}
我正在尝试通过调用将用户名和用户 ID 提交到 Firestore
fbService.submitName(id, name);
但我收到了这个错误
error submitting: NoSuchMethodError: method not found: 'call$1' (id.call$1 is not a function)
我不知道我的代码有什么问题。我曾尝试寻找一些 angulardart firestore 教程,但没有运气。我正在使用 dart-sdk 1.24.3、angular 4.0.0+2 和 firebase 4.4.0
我已经尝试基于pub website使用这个
<script src="https://www.gstatic.com/firebasejs/4.10.1/firebase.js"></script>
<script src="https://www.gstatic.com/firebasejs/4.10.1/firebase-firestore.js"></script>
还有这个
<script src="https://www.gstatic.com/firebasejs/4.11.0/firebase.js"></script>
<script src="https://www.gstatic.com/firebasejs/4.11.0/firebase-firestore.js"></script>
但还是出现同样的错误
【问题讨论】:
标签: firebase dart google-cloud-firestore angular-dart