Javascript 第页没有';t始终无法识别带有ES6承诺的ng if/new$范围变量
奇怪的问题- 因此,我运行加载用户配置文件的代码。在编码过程中,它会检查查看个人资料的人是否是“朋友”。如果是,它将使用NG-If并设置$scope.button以生成新文本 然而,我经常需要多次刷新页面,以便Angular/http服务器看到这一点。我可以在console.log中看到连接正确,但问题仍然存在。如果我不需要刷新,我会看到“闪烁”,并在页面加载时观察范围的变化 有没有办法防止这种情况 我尝试了$scope.apply();。Javascript 第页没有';t始终无法识别带有ES6承诺的ng if/new$范围变量,javascript,angularjs,firebase,angular-promise,es6-promise,Javascript,Angularjs,Firebase,Angular Promise,Es6 Promise,奇怪的问题- 因此,我运行加载用户配置文件的代码。在编码过程中,它会检查查看个人资料的人是否是“朋友”。如果是,它将使用NG-If并设置$scope.button以生成新文本 然而,我经常需要多次刷新页面,以便Angular/http服务器看到这一点。我可以在console.log中看到连接正确,但问题仍然存在。如果我不需要刷新,我会看到“闪烁”,并在页面加载时观察范围的变化 有没有办法防止这种情况 我尝试了$scope.apply();。 (从firebase中提取数据)由于承诺来自Angul
(从firebase中提取数据)由于承诺来自AngularJS框架之外,因此框架不知道模型的更改,也不更新DOM。使用
$q.when
将外部承诺转换为角度框架承诺
var ref = x.child(userLoggedIn).child(allUsersArray[i].uid)
var refPromise = $q.when(ref.once('value'));
使用与AngularJS框架及其摘要周期正确集成的$q服务承诺
$q.when
将可能是值或(第三方)的对象包装为$q
承诺。当您处理的对象可能是承诺,也可能不是承诺,或者承诺来自不可信任的来源时,这非常有用
我使用的是Promises.all和$q似乎已经修复了这种行为
在引擎盖下,
$q.all
对对象或数组中的每个承诺使用$q.when
。这还会将外部承诺转换为角度框架承诺。用于将ES6承诺转换为与AngularJS框架及其摘要周期集成的$q承诺。谢谢。工作完美。我使用的是Promises.all和$q似乎已经修复了这种行为。
var ref = x.child(userLoggedIn).child(allUsersArray[i].uid)
var refPromise = $q.when(ref.once('value'));