变量在$scope中可见,但在 Angular 中实际访问时未定义
Variable visible in $scope but undefined when actually accessed in Angular
在 Angular 中,我有一个在ng-init
中定义的变量var1
(我知道这不是推荐的做法)。
从我的控制器中,如果我执行console.log($scope)
,我可以看到变量var1
及其初始化值。如果我console.log($scope.var1)
,我发现它是undefined
app.controller('app', function($scope) {
console.log($scope); // var1 appears here with it's initialised value
console.log($scope.var1); // this is undefined
});
为什么第一个日志可能显示初始化的变量,而第二个日志却没有?
-----编辑------
注意我是否这样做
setTimeout(function() {
console.log($scope.var1);
}, 0);
然后定义var1
。
这可能是因为
您甚至在通过 angular 为其赋值之前就尝试访问该变量。
尝试将控制台语句置于超时状态。
避免使用 ng-init 进行初始化。
相关文章:
- 访问脚本标记中的Angular变量
- 如何使用(this)访问Angular 2 http rxjs catch函数中的对象属性
- Angular使服务可以从任何地方访问
- angularjs:访问angular控制器中的jquery变量
- 可以't访问Angular.js服务中的功能
- 将typescript函数访问到angular中
- 无法访问Angular Directive模板函数中的属性实际值
- 访问url[材质Ui+选项卡]时,Angular Ui路由器未加载视图
- 无法从Angular访问服务器端控制器
- Angular 1.5:访问控制器内部的绑定控制器属性
- 从 Angular 2 访问 jQuery 函数中设置的变量
- 我在从我的指令 Angular 访问控制器的范围时遇到问题
- 使用Angular访问Express的响应数据
- angular访问对象键
- Angular访问作用域属性
- 使用Angular访问对象中的对象数组
- Angular 2访问JSON文件
- Angular:访问控制器中的嵌套属性
- Angular访问带有动态名称的$scope对象
- 指令模板函数的Angular访问范围