javascript - 类型错误 : set is not a function with angularjs

标签 javascript angularjs firebase angularfire firebase-realtime-database

我遇到了这个错误:

类型错误:fb.set 不是函数,angular.js:13550

当我尝试将数据发送到我的 firebase 数据库时。

我真的不明白我在这里缺少什么,我查阅了文档,但一切看起来都不错。

var app = angular.module('app', ['firebase']);

app.controller("mainController", ["$scope", "$firebaseArray",
  function($scope, $firebaseArray) {

      var ref = new Firebase("https://burning-torch-4263.firebaseio.com/days");  
      fb =  $firebaseArray(ref); 

    $scope.reset = function() {  
    fb.set({
      monday: {
        name: 'Monday',
        slots: {
          0900: {
            time: '9:00am',
            booked: false
          },
          0110: {
            time: '11:00am',
            booked: false
          }
        }
      },
      tuesday: {
        name: 'Tuesday',
        slots: {
          0900: {
            time: '9:00am',
            booked: false
          },
          0110: {
            time: '11:00am',
            booked: false
              }
            }
          }
        });
    };    

  }

]);

最佳答案

对我有用:

<!DOCTYPE html>
<html ng-app='app'>
<head>
  <meta name="description" content="AngularFire set data">
  <script src="https://cdn.firebase.com/js/client/2.2.6/firebase.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.2/angular.min.js"></script>
  <script src="https://cdn.firebase.com/libs/angularfire/1.1.1/angularfire.min.js"></script>
  <meta charset="utf-8">
  <title>AngularFire set data</title>
</head>
<body ng-controller='MainCtrl'>
  <ol>
    <li ng-repeat='(id, day) in days'>{{day.name}} - {{id}}
      <ul>
        <li ng-repeat='slot in day.slots'>{{slot.time}}</li>
      </ul>
    </li>
  </ol>
</body>
</html>

和 JavaScript

var app = angular.module('app', ['firebase']);

app.constant('FB_URL', 'https://stackoverflow.firebaseio.com/36903668');
app.controller('MainCtrl', function(FB_URL, $scope, $firebaseArray, $firebaseObject) {

  var ref = new Firebase(FB_URL+"/days");  
  var fb =  $firebaseArray(ref); 
  $scope.days = fb;

  ref.set({
    monday: {
      name: 'Monday',
      slots: {
        0900: {
          time: '9:00am',
          booked: false
        },
        0110: {
          time: '11:00am',
          booked: false
        }
      }
    },
    tuesday: {
      name: 'Tuesday',
      slots: {
        0900: {
          time: '9:00am',
          booked: false
        },
        0110: {
          time: '11:00am',
          booked: false
        }
      }
    }
  });
});

jsbin 链接:http://jsbin.com/lofima/edit?html,js,output

关于javascript - 类型错误 : set is not a function with angularjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36903668/

相关文章:

node.js - 我正在尝试使用 npm 安装 firebase@4.2.0 和 angularfire2@4.0.0-rc.1 但出现以下错误

javascript - 假设我有一个包含 500 个缩略图的列表,后跟标题。当用户向下滚动时如何加载图像? (JQuery)

javascript下拉元素不出现但可以选择

javascript - 如何禁用 Angular Material 日期选择器中的特定日期

javascript - 在for循环中过滤掉

javascript - Angularjs禁用过滤器

c# - Xamarin Android 的 FirebaseInstanceId.Instance.Token 抛出错误而不是返回 FCM token

iOS Firebase 身份验证错误

Javascript 在日期上设置图像,否则隐藏 div

javascript - 为什么 R Shiny 不接受 jQuery 设置的文本输入?