Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript OnsenUI AngularJS数据绑定工作不正常_Javascript_Angularjs_Cordova_Onsen Ui_2 Way Object Databinding - Fatal编程技术网

Javascript OnsenUI AngularJS数据绑定工作不正常

Javascript OnsenUI AngularJS数据绑定工作不正常,javascript,angularjs,cordova,onsen-ui,2-way-object-databinding,Javascript,Angularjs,Cordova,Onsen Ui,2 Way Object Databinding,我创建了一个我将要做的简单示例: ons.bootstrap() .controller('AppController',函数($scope){ $scope.x=0; setInterval(函数(){ $scope.x=$scope.x+1; }, 500) }); 转换 此值应每500毫秒更改一次:{{x} 开关为{{开关?'on':'off'} 像这样试试 ons.bootstrap() .controller('AppController', function($scope)

我创建了一个我将要做的简单示例:

ons.bootstrap()
.controller('AppController',函数($scope){
$scope.x=0;
setInterval(函数(){
$scope.x=$scope.x+1;
}, 500)
});

转换

此值应每500毫秒更改一次:{{x}
开关为{{开关?'on':'off'}
像这样试试

ons.bootstrap()
.controller('AppController', function($scope) {
 $scope.x = 0;
  setInterval(function() {
   $scope.$evalAsync(function () {
                $scope.x = $scope.x + 1;
            });

 }, 500)
});
编辑:

或者像@Pankaj Parkar所说的那样使用
$interval
。在使用
$interval
之前,您应该在控制器中插入此服务

 $interval(function () {
   $scope.x = $scope.x + 1;               
 }, 500);

为什么不
$interval
?我认为
$evalAsync
在性能上优于
$interval
,而不是
$evalAsync
内置
$evalAsync
。可能是@evalAsync不会更快,AFAIK
$applyAsync
(angular 1.3+)会表现良好。。理想的正确解决方案是只使用
$interval
。请参阅本文使用
$interval
服务,而不是
setInterval()
函数