gpt4 book ai didi

javascript - 如何将 firebase 的数据与 angularJS 范围绑定(bind)

转载 作者:行者123 更新时间:2023-11-30 14:30:49 25 4
gpt4 key购买 nike

您好,我如何将我从 firebase 收到的数据绑定(bind)到 angularJS 中的范围。我是新手,虽然我在关注w3school .所以我不确定我错过了什么。我正在使用

"angular": "^1.7.2",
"angular-route": "^1.7.2",
"firebase": "^5.2.0",

我的代码是这样的

app.config(function($routeProvider){
$routeProvider
.when('/',{
templateUrl:'home.html',
controller:'UserController'
})
})
app.controller("UserController", function ($scope, $routeParams, $location) {
firebaseRef.child('users').on("value", function(response) {
$scope.userCount=response.numChildren();
});
})

在 html 中我是这样做的

<html lang="en" ng-app="my-first-app">
............<HEADER AND TITLE AND BODY>......
<h3>User count : {{userCount}} </h3>
</body>
</html>

但是即使我 console.log response.numChildren() 的值我看到 4 也没有任何结果。

谁能告诉我哪里做错了?

最佳答案

当你的 Firebase on("value" 回调被调用时,AngualarJS 不再期待 HTML 的变化。所以你必须明确地告诉它你正在改变 HTML,通过使用 $apply()$timeout():

app.controller("UserController",  function ($scope, $routeParams, $location) {
firebaseRef.child('users').on("value", function(response) {
$timeout(function() {
$scope.userCount=response.numChildren();
});
});
}

另见:

关于javascript - 如何将 firebase 的数据与 angularJS 范围绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51198356/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com