-1
によって子:上記のコードはfirebaseで動作しますリファレンス私は、次の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;
}
}
はどうやって値を保存することができますか?
この 'Home.overlaySettings.ref.feature.child( 'enabled')'の '機能は定義されていません。これを削除すると、データベースに値を設定します。あなたが設定したい値であるかどうかは、あなたが共有したものからは分かりません。 –
@FrankvanPuffelenいいえそうではありません。私はfeature.enabledの値を保存しようとしています。問題は、機能をループしているため、保存する必要のある機能がわからないということです。現在の機能の完全なパスを取得するにはどうすればよいですか? – Bojan
ああ。私はあなたが 'feature。$ id'を探していると思います。だから 'Home.overlaySettings.ref.child(feature。$ id).child( 'enabled')。set(!feature.enabled);' https://stackoverflow.com/questions/38045352/how-to-getを参照してください。 firebase配列オブジェクト、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 –