【问题标题】:Custom data tree name in angularfireangularfire中的自定义数据树名称
【发布时间】:2015-12-26 00:29:54
【问题描述】:

我正在使用 $routeProvider 根据我的 firebase 数组中的条目 ID 创建页面。

.state('app.Ketel', {
          url: '/ketels/:id',
          views: {
            'menuContent': {
              templateUrl: 'templates/ketels/template.html',
              controller: 'ketelsCtrl'
            }
          }
        })




   ketelapp.controller('ketelsCtrl', function ($scope, $routeParams, $stateParams, $state, firebaseService, $firebaseArray, $firebase){

        $scope.ketels = firebaseService.all;
        $scope.ketel = firebaseService.get($stateParams.id - 1);

      })

我的 Firebase 数据树

ketels ->
         1 --> name : blablabla;
               brand : bla bla bla;
         2 --> name : blablabla;
               brand : bla bla bla;

现在我正在尝试制作一个脚本,以 id 格式将项目添加到数组中

ketelapp.controller('pushCtrl', function ($scope, $firebaseArray, $firebase, $firebaseObject){
      var id = 3;
      var ref = new Firebase("https://url.firebaseio.com" + "/ketels/" + id);
      // create a synchronized array
      $scope.ketels = $firebaseArray(ref);  

      var ketels = $scope.ketels;

      $scope.addMessage = function(name, brand, desc) {


        $scope.ketels.$add({
          name: name,
          brand: brand,
          desc: desc

        });

      };

})

现在我的数据添加了正确的 id,但在数据树的更深处,它仍然使用了一个随机数据键,这会弄乱我的代码。

ketels ->
         1 --> random key --> name : blablabla;
                              brand : bla bla bla;
         2 --> random key --> name : blablabla;
                              brand : bla bla bla;

有什么方法可以禁用 firebase 使用他们自己的自定义生成的数据键?

--编辑--

或其他修复路由的方法

【问题讨论】:

    标签: json angularjs database firebase


    【解决方案1】:

    当然。

    你打电话给$firebaseArray.$add()

    $scope.ketels.$add({...
    

    这意味着您要求 Firebase 生成所谓的推送 ID。

    如果你不想这样,你可以:

    $scope.ketels.$ref().child('your-unique-id').set({...
    

    请注意,Firebase recommends against using array indices in multi-user apps 有充分的理由。忽略那些后果自负。

    【讨论】:

    • 我可以用它为每个条目设置一个递增的 id 吗?
    猜你喜欢
    • 2017-08-16
    • 2023-03-07
    • 2015-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多