我正在使用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变量和范围之间的关系?
更新:我在控制器中添加了该功能
答案 0 :(得分:0)
当我从
更改代码时var newHeight;
var newWidth;
到
$rootScope.newHeight;
$rootScope.newWidth;
问题解决了