当我从firebase接收数据时,我正在使用false更改ng-show / ng-hide值的范围。但它不会影响我视图中的任何内容。 当我再次点击但是我必须动态更新值时,范围值正在改变。 请帮我解决这个问题。
提前致谢
<script>
var app = angular.module("myApp", []);
app.controller("redeemCtrl", function($scope) {
$scope.showDiv = true;
$scope.redeemSubmit = function() {
firebase.database().ref().once('value', function(snapshot) {
$scope.user = snapshot.val()
console.log('Getting Data from fire base' + JSON.stringify($scope.user));
$scope.showDiv = false;
});
}
});
</script>
<div ng-controller="redeemCtrl">
<div ng-show="showDiv">
<form>
<div>
<input ng-model="Coupon" type="text">
</div>
<div class="row">
<button ng-click="redeemSubmit()" class="btn">Submit</button>
</div>
</form>
</div>
<div class="row" ng-hide="showDiv">
<h3>{{user}}</h3>
</div>
</div>
答案 0 :(得分:2)
注意更改已发生的 Angular :
console.log('Getting Data from fire base' + JSON.stringify($scope.user));
$scope.showDiv = false;
$scope.user = $scope.Coupon;
$scope.$apply();
答案 1 :(得分:1)
对于自定义行为,可以使用 ngClick 代替 ngSubmit
答案 2 :(得分:0)
AngularJS不知道Firebase SDK中发生的操作,它不在其上下文之外,因此您应该将包含代码的更改通知AngularJS $ $ scope()
T
&#13;