变量之间是否有关系" var x"和范围

时间:2017-02-15 14:23:50

标签: javascript angularjs

我正在使用AngularJS来制作带有onsen和monaca的移动应用程序 在我的控制器中,我需要使用许多变量来进行一些操作,我不需要显示它,所以根据这篇帖子$scope vs var in AngularJS
我用这种方式定义了我的控制器

angular.module('myApp').controller('pdfPlanCtrl',['$scope',function($scope) {
    var newHeight;
    var newWidth;
    function drawOldLines(pointBeginX, pointBeginY, pointEndX, pointEndY, color){
           ---- some code --------
           console.log('drawOldLines scope id '+$scope.$id);
           console.log('newWidth= '+newWidth);
    }
}]);

在我上面说过的控制器中,我通过调用函数drawOldLines将这些变量用于某些计算操作

我从两个位置调用此函数 当有人触摸画布时,有些人点击按钮

当一些触摸画布我在日志中得到这个结果时:

drawOldLines scope id  13
newWidth = 160

当我点击按钮时,我得到了

drawOldLines scope id  22
newWidth = undefined

如何在两种情况下使用newWidth值?或者也许可以帮助我理解var变量和范围之间的关系?

更新:我在控制器中添加了该功能

1 个答案:

答案 0 :(得分:0)

当我从

更改代码时
var newHeight;
var newWidth;

$rootScope.newHeight;
$rootScope.newWidth;

问题解决了