Angular JS $timeout与$scope函数通信
Angular JS $timeout and $scope function communication
我只是在 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.testfun = function() {
alert(2);
}
$scope.activate = function(h,m,s) {
if (h != 0 || m != 0 || s != 0) {
$timeout(function () {
$scope.testfun();
}, 8000);
}
}
因为$scope.function()
是错误的。
$timeout(function() { $scope.testfun(someParam); }, 8000)
范围是HTML(视图)和JavaScript(控制器)之间的绑定部分。
范围是具有可用属性和方法的对象。
该范围可用于视图和控制器。
我只是在 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.testfun = function() {
alert(2);
}
$scope.activate = function(h,m,s) {
if (h != 0 || m != 0 || s != 0) {
$timeout(function () {
$scope.testfun();
}, 8000);
}
}
因为$scope.function()
是错误的。
$timeout(function() { $scope.testfun(someParam); }, 8000)
范围是HTML(视图)和JavaScript(控制器)之间的绑定部分。
范围是具有可用属性和方法的对象。
该范围可用于视图和控制器。