javascript - Angular JS $timeout 和 $scope 函数通信
问题描述
我只是在 angularjs 中发现了奇怪的(对我来说)东西。为什么这些部分的工作方式不同?
超时工作(8 秒后发出警报)
$scope.testfun = function(){
alert(2);
}
$scope.activate = function(h,m,s){
if(h != 0 || m != 0 || s != 0) $timeout($scope.testfun, 8000);
}
超时不起作用(立即提醒)
$scope.testfun = function(){
alert(2);
}
$scope.activate = function(h,m,s){
if(h != 0 || m != 0 || s != 0) $timeout($scope.testfun(), 8000);
}
$scope.testfun 和 $scope.testfun() 的区别
解决方案
因为$scope.function()
是错误的。
$timeout(function() { $scope.testfun(someParam); }, 8000)
范围是 HTML(视图)和 JavaScript(控制器)之间的绑定部分。
范围是具有可用属性和方法的对象。
范围可用于视图和控制器。
推荐阅读
- r - R中的字符串到表
- firebase - Firebase ID 问题
- r - “标记”ggplot2中的刻度线?
- python - 将日期时间对象插入 BigQuery 时,Google Cloud 函数崩溃
- ruby-on-rails - 如何建立这种多态关系?
- c++ - 使用宏来摆脱依赖的模板关键字是个好主意吗?
- python - 无法从 xpath 获取价值
- python - Git 最佳实践:如何构建一个大型应用程序所需的多个 python 模块
- function - 使用功能 swiftUI 将视图添加到 contentView 不起作用
- multipartform-data - 如何解释缺少 CRLF 的多部分?