• 欢迎光临~

关于angularJS压缩混淆后形参改变导致代码报错的问题

开发技术 开发技术 2022-12-10 次浏览

问题

angularJS 1.3版本之前,有全局控制器的说法($scope),这个全局控制器会导致在js编译时进行压缩,会将scope变成简短的单词,导致报错。

在demo.js中控制器第二个参数有两种形式,第一种函数形式其实也存在上述问题,而第二种使用数组可以解决掉这个问题。

下面代码是当参数是函数的时候定义控制器的代码:

app.controller("MyController", function($scope) {
    $scope.name = "jack";
})

解决办法

定义控制器的时候使用第二种数组的形式,将回调函数的参数作为形参,即使js在编译的时候参数会改变,因为是形参,也不会影响程序的运行。

app.controller("MyController", ['$scope', function($scope) {
    $scope.name = "tom";
}])
程序员灯塔
转载请注明原文链接:关于angularJS压缩混淆后形参改变导致代码报错的问题
喜欢 (0)