2017-07-15 49 views
-1

一个孩子,我有以下的div:参考由元

<div ng-repeat="state in Home.overlaySettings.data.games[0].events[0].states"> 
    <div class="col-xs-12 col-md-4 noPadding" ng-repeat="feature in state.features" ng-show="state.name == Home.overlaySettings.data.games[0].events[0].state"> 
     <div class="form-group"> 
      <button 
       type="button" 
       class="btn largeButton" 
       ng-class="{'btn-success':feature.enabled == true,'btn-danger':feature.enabled == false}" 
       ng-click="feature.child('enabled').set(!feature.enabled);"> 
        {{feature.name}} 
      </button> 
     </div> 
    </div> 
</div> 

上面的代码可与火力点。我想要做的就是在单击按钮时将值从true设置为false,然后再次单击时将值设置为true。

我的问题是,我不知道如何保存值。该功能是众多功能之一,因此我不能从根元素中搜索它。

要显示什么Home.OverlaySettings是,看看这个函数:

function OverlaySettings(fbURL, $firebase, $q) { 
    var fb = {"data":null,"ref":null,"ready":$q.defer()}; 
    initFB(); 
    function initFB() { 
     fb.ref = new Firebase(fbURL); 
     fb.data = $firebase(fb.ref).$asObject(); 
     fb.data.$loaded( 
      function(data) { 
       fb.ready.resolve() 
      } 
     ); 
    } 
    return function() { 
     return fb; 
    } 
} 

我如何保存的价值?

+0

在这个'Home.overlaySettings.ref.feature.child('enabled')''特征'没有被定义。删除它,你会在数据库中设置一个值。无论您想要设置的价值是否很难从您分享的内容中分辨出来。 –

+0

@FrankvanPuffelen不,它不是。我正在尝试保存feature.enabled的值。问题是,因为我正在循环功能,我不知道哪些功能是我需要保存的。我如何获得当前功能的完整路径? – Bojan

+0

啊。我想你正在寻找'feature。$ id'。所以'Home.overlaySettings.ref.child(feature。$ id).child('enabled')。set(!feature.enabled);'查看https://stackoverflow.com/questions/38045352/how-to-get -key-of-firebasearray-object,https://stackoverflow.com/questions/28997282/angularfire-firebase-geting-a-single-element-from-firebasearray-in-order-t,https:/ /stackoverflow.com/questions/28862462/how-to-pull-key-name-from-array-of-objects-in-angularfire –

回答

0

您可以尝试如下。

Home.overlaySettings.data.games[0].events[0].states[$parent.$index].features[$index].child('enabled').set(!Home.overlaySettings.data.games[0].events[0].states[$parent.$index].features[$index].enabled); 

或者你可以在你的控制器中完成这项工作。

+0

不幸的是,这也不起作用。 – Bojan