繁体   English   中英

作用域上的变量不会使函数中的值保持更改

[英]Variable on scope doesn't keep the value changed in a function

我有一个控制器,它会像这样初始化我的值:

$scope.showThing=true;

我用ng-click切换值

ng-click="showThing=!showThing"

可以,但是如果我尝试在控制器内部的函数中使用相同的值,则至少可以说是不合理的。 在间隔函数中提醒值只是一些简单的事情,只有在更改值后第一次迭代时才能获得正确的值,有时甚至不会。 由于这是一件微不足道的事情,我不想一个人为此创建一个工厂,所以我希望有人可以告诉我我在做什么错。

您的问题并不简单,您可以发布代码吗? 这是吊装问题。

var a = 10;
console.log("value of 'a' before hoisting: "+a);
(function(){ 
 console.log("value of 'a' after hoisting: "+a);
 var a; 
})(); 

Result:
value of 'a' before hoisting: 10
value of 'a' after hoisting: undefined

这可能是因为一次启动间隔,然后一次又一次地返回相同的值。 尝试与此类似的事情,其中​​涉及吸气剂样式功能:

$scope.showThing=true;

var getShowThing = function() {
  return $scope.showThing;
};

$scope.displayTr=function(){ 
  alert(getShowThing()); 
};

$interval(function() { 
  //get data from a factory .then(function(response) { 
    if (response.status === 200) { 
      $scope.info = response.data; 
    } else { 
      console.log('Error occured' + response.status); 
    } 
  }); 
  $scope.displayTr(); 
}, 5000);

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM