我有以下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>
以上代码适用于firebase。我想要做的就是当你点击按钮时将值设置为true,然后再次单击它再返回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 :(得分: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);
或者您可以在控制器中完成这项工作。