为 firebase 创建动态 ng-models |离子 |火力基地 | angularjs

Create Dynamic ng-models for firebase use | ionic | firebase | angularjs

我正在尝试制作一个应用程序,用户可以在 post 中标记其他注册用户。

所以这个想法是如果用户创建一个新的 post。所有可用用户都有一个 ng-repeat,并且为每个用户创建了一个复选框。

检查用户后,他们必须与 post 一起存储在 firebase 中。 现在我似乎无法弄清楚如何将属性动态添加到我的 firebase push

  <div class="list">
      <label class="item item-input item-stacked-label">
        <span class="input-label">Titel</span>
        <input type="text" placeholder="Titel" ng-model="formData.title">
      </label>
      <label class="item item-input item-stacked-label">
        <span class="input-label">Beschrijving</span>
        <input type="text" placeholder="Kaarten voor... etc" ng-model="formData.description">
      </label>
      <label class="item item-input item-stacked-label">
        <span class="input-label">Prijs</span>
        <input type="text" placeholder=".-" ng-model="formData.price">
      </label>
    </div>
    <ion-list ng-repeat="user in users">
        <ion-checkbox ng-click="la()" ng-model="users[user.Username][user.id][user.voltooid == false]" >
    </ion-checkbox>
    </ion-list>
    <div class="button" ng-click="test()">test</div>

推送码

       $scope.formData = {};
       $scope.test = function (){
        console.log($scope.users);
        console.log($scope.formData);
        posts.push({ 
          title: $scope.formData.title, 
          description: $scope.formData.description,
          price: $scope.formData.price,
          users: {
            //dynamic data
          }
        });
       }

我将举例说明如何 post 动态检索数据。

这是一个工厂,可以将您的数据与 controller/ng-model 同步,但您可以将其包含在控制器中。

.factory("Items", function($firebaseArray) {
    var itemsRef = new Firebase("https://YOUR-FIREBASE/");
    return $firebaseArray(itemsRef);
})

在您的控制器中,您在范围内检索数据

$scope.items = Items;

然后使用 angularfire 调用 $save 的函数将你的数据更新到你的 firebase 中。

$scope.la = function(){
$scope.items.$save($scope.users[user.name][check]);
}

最后你可以做类似的事情来检索和更新你的数据

<ion-checkbox ng-click="la()" ng-model="users[user.name][check]">