Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 第页没有';t始终无法识别带有ES6承诺的ng if/new$范围变量_Javascript_Angularjs_Firebase_Angular Promise_Es6 Promise - Fatal编程技术网

Javascript 第页没有';t始终无法识别带有ES6承诺的ng if/new$范围变量

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

奇怪的问题-

因此,我运行加载用户配置文件的代码。在编码过程中,它会检查查看个人资料的人是否是“朋友”。如果是,它将使用NG-If并设置$scope.button以生成新文本

然而,我经常需要多次刷新页面,以便Angular/http服务器看到这一点。我可以在console.log中看到连接正确,但问题仍然存在。如果我不需要刷新,我会看到“闪烁”,并在页面加载时观察范围的变化

有没有办法防止这种情况

我尝试了$scope.apply();。
(从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'));