$scope var有多个相互矛盾的值
$scope var has multiple values that contradict each other?
好吧,这是一个奇怪的问题,我从来没有遇到过,我也没有看到其他人在互联网上有这个问题;
对于初学者,我使用AngularJS
和$scope
变量。
在使用AngularJS时,我注意到我的变量都显示了在控制器开始时设置的值,例如:
$scope.editMode = true;
以及我在控制器内部的函数中为它们设置的值,在这种情况下,函数是由点击触发的。例如:
$scope.disableEditMode = function() {$scope.editMode = false;}
我在控制器中运行一秒的间隔来检查变量的值,它向我显示它是真,然后是假,等等…
为什么它会自己改变?或者为什么它有两个值?这是怎么回事?
顺便说一句,我不确定这是否是这个问题的原因,但在点击事件改变变量值我也重定向用户到另一个页面,使用相同的控制器,我认为它可能会重置变量的数据,但显然不是这样的。
谢谢。
正常的javascript setInterval()
不是Angular作用域的一部分。
Angular有自己的实现$interval
,它会正确地评估作用域。
var timer = $interval(function() {
console.log($scope.editMode);
}, 1000);
你必须在控制器中包含这个:
...controller('myController', function($scope, $interval)..
此外,另一件要检查/纠正的事情是范围变量,如果它以某种方式在子控制器中并用作ng-model
。更多链接:
- 为什么AngularJS文档不在model指令中使用点呢?如果你在AngularJS模型中没有使用。(点),你做错了吗?
相关文章:
- 多个单选按钮组相互干扰
- AngularJS:ng之后,重复$scope值未按预期更新
- $ionicplatform内的$scope不;不起作用
- 使用$scope方法时的ControllerAs语法
- 如何将ngrepeat下的ngmodel绑定到$scope
- 另一个if(!$scope.$$phase)$scope$apply()szenario-需要帮助才能通关
- 使用AngularJS Directive WHITOUT$scope创建一个动态html元素
- $scope变量被视为字符串AngularJs
- ng在更新$scope后重复不更新信息
- 正在获取Angular以检测$scope中的更改
- 如何惯用地手动销毁scope&在AngularJS中重新创建
- Understanding Javascript scope with "var that = this&qu
- AngularJS,angular.element($0).scope()揭示了每个控制器的函数
- Ng出口无法访问父$scope
- ng选项-用vm替换$scope
- $scope变量,ng隐藏/显示
- 强制 $scope.$watch 只开火一次
- Ionic:AngularJS变量未使用$scope更新DOM
- AngularJS:$scope$注意两个相互依赖的值
- $scope var有多个相互矛盾的值