Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.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
Angularjs 角度-为ng hide/show调用API-坏主意?_Angularjs - Fatal编程技术网

Angularjs 角度-为ng hide/show调用API-坏主意?

Angularjs 角度-为ng hide/show调用API-坏主意?,angularjs,Angularjs,我有一个按钮,我想显示/隐藏,这取决于用户之前是否发布过某个项目。为了找到答案,我编写了一个API调用,它返回true或false 然而,每当我使用这是我的代码时,我总是得到: Uncaught错误:[$rootScope:infdig]已达到10$digest()次迭代。流产错误 为什么我的代码会这样做?我实现它的一般方法是正确的吗 我的代码如下所示: <div ng-show='main.hasPosted()'>The Button To Go In Here</div&

我有一个按钮,我想显示/隐藏,这取决于用户之前是否发布过某个项目。为了找到答案,我编写了一个API调用,它返回true或false

然而,每当我使用这是我的代码时,我总是得到:

Uncaught错误:[$rootScope:infdig]已达到10$digest()次迭代。流产错误

为什么我的代码会这样做?我实现它的一般方法是正确的吗

我的代码如下所示:

<div ng-show='main.hasPosted()'>The Button To Go In Here</div>
点击这里进入的按钮
self.hasPosted=function(){
$http.get(API+'/hasPosted'{
标题:{
itemtocheck:$routeParams.id
}
}).
然后(函数(结果){
$scope.showButton=result.data.success;
});
点击此处进入的按钮
self.hasPosted=function(){
$http.get(API+'/hasPosted'{
标题:{
itemtocheck:$routeParams.id
}
}).
然后(函数(结果){
$scope.showButton=result.data.success;
});

那是因为你的函数处于未解析状态。请尝试使用$scope变量并将其用于比较这是一种可怕的方法,视图生成
$http
请求。将在每个摘要中生成一个请求,并且在一个周期内可能有多个摘要HKS编码员John-仅此而已。这对Mechanalie tfl来说是有意义的-您能否建议另一种方法来是否执行此操作?仅在控制器中发出一个请求,并将结果分配给模型属性,因为您的hasPosted()函数处于未解析状态。请尝试使用$scope变量并将其用于比较这是一种可怕的方法,视图生成
$http
请求。将在每个摘要中生成一个请求,并且在一个周期内可能有多个摘要HKS编码员John-仅此而已。这对Mechanalie tfl来说是有意义的-您能否建议另一种方法来执行此操作?仅在控制器中发出一个请求,并将结果分配给模型PropertyTanks-使用范围变量是有意义的。但是,在什么时候我应该为该div调用hasPosted函数本身?控制器初始化后,您可以将其作为第一次调用。或者,根据您的业务逻辑,选择更适合的方法!酷-所有w顺便说一句,你/你能帮我理解Charlietfl上面的评论吗?我很想知道,因为我很自然地想用最好的方式编写代码。我只是想总结一下Charlietfl所说的,为了实现双向数据绑定,我们调用了Angle库的一些核心函数,这些函数消耗资源,但是上面的实现现在这并不重要。对于详细的解释,您可以进一步阅读:.ThanksThanks-使用范围变量是有意义的。但是,在什么时候我应该为该div调用hasPosted函数本身?您可以在控制器初始化后立即进行第一次调用。或者,根据您的业务逻辑w这更合适!酷-现在一切都好了。顺便说一句-你/你能帮我理解Charlietfl上面的评论吗-我很好奇,因为我很自然地想用最好的方式编写代码。我只是总结一下Charlietfl的意思,为了实现双向数据绑定,Angle库的一些核心函数被称为res资源消耗,但对于上述实现,这现在无关紧要。仍然可以进一步阅读详细说明:。谢谢
self.hasPosted = function() {
      $http.get(API + '/hasPosted', {
         headers: {
           itemtocheck: $routeParams.id
         }
       }).
       then(function(result){
         return result.data.success;
});
<div ng-show='showButton'>The Button To Go In Here</div>

self.hasPosted = function() {
      $http.get(API + '/hasPosted', {
         headers: {
           itemtocheck: $routeParams.id
         }
       }).
       then(function(result) {
$scope.showButton = result.data.success;
});