0
这是我从服务器获取数据的代码。视图在更改范围后不更新角度变量js
sampleApp.controller('OfferController', function ($scope, $state) {
var offersRef = firebase.database().ref('offers');
$scope.offers = [];
offersRef.on('value', function(snapshot) {
$scope.offers = snapshot.val();
//$state.go($state.current, {}, {reload: true});
});
});
最初$ scope.offers = [];是空的。它在这里被填满。 $ scope.offers = snapshot.val();
但是视图没有更新。如果我在同一页面上点击任何按钮或其他任何按钮,或返回并在同一页面上再次出现。它得到更新。
为什么在数据可用时没有立即更新?怎么修?
非常感谢您的快速响应。它的工作正常。但是如果$ scope不可用呢?例如在服务也有一些地方我这样获取数据?如何使用$ scope。$ apply();那里?? –
@DeveshAgrawal如果你把它绑定到一个视图上,你应该使用$ scope变量! ,在服务中你必须使用当地的可变因素并且分配给他们 – Sajeetharan
不是真的。在服务中,我正在像这样分配。 ProductService.Products = snapshot.val();并在控制器中我使用相同的参考变量。像这样:: this.ProductService = ProductService; –