我有一个控制器,它初始化我的价值,例如:变量的范围不守值的函数改变
$scope.showThing=true;
我切换与价值NG单击样
ng-click="showThing=!showThing"
这工作正常,但如果我尝试在控制器内部的函数中使用相同的值,则表现为非理性,至少可以说。 只要提醒间隔函数中的值,只需在第一次更改值后迭代即可获得正确的值,有时甚至不会。 由于这是微不足道的东西,我不想为此创建一个工厂,所以我希望有人能告诉我我在这里做错了什么。
我有一个控制器,它初始化我的价值,例如:变量的范围不守值的函数改变
$scope.showThing=true;
我切换与价值NG单击样
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);
希望这会有所帮助。
可以请你出示你的控制器的代码吗? – Hinrich
$ scope.showThing = true; \t \t $ scope.displayTr = function(){ \t \t \t alert($ scope.showThing); \t \t}; \t \t $间隔(函数(){ \t \t \t //取得从工厂 \t \t \t \t。然后(功能(响应){数据 \t \t \t \t \t如果(response.status === 200) { \t \t \t \t \t \t $ scope.info = response.data; \t \t \t其他{ \t \t \t \t \t \t console.log('Error occured'+ response.status); \t \t \t \t \t} \t \t \t \t}); \t \t \t $ scope.displayTr(); ),5000); –
顺便说一句,最好用格式化的代码更新你的原始问题,而不是在评论中粘贴代码 – Hinrich