angularJS $scope variables



我的$scope angularJS中有两种类型的变量。

1)。scope.name美元,美元范围。title——这些绑定到两个输入框(这些绑定到UI html代码)。

2)。美元的范围。和,美元范围。差异——这些变量在JS代码内部使用,我需要它们就像在不同函数中访问全局变量一样。

问题:是$scope。$watch函数将运行变量的第二种情况,是这些类型的变量给我的页面性能的任何不良影响

这取决于你的表达式。但是,永远不要监视昂贵的表达式,因为angularjs会多次求值,这必然会对应用程序的性能产生非常负面的影响。

通常,当出现性能问题时,有必要对应用程序进行优化。在大多数情况下,一切都很顺利,不希望不必要地使应用程序复杂化。

还可以使用单向数据绑定,其中表达式以::开头。在第一次文摘之后,表达式一旦稳定,就会停止重新计算。

$scope中的变量可以在整个(在diff函数中)控制器中访问。如果你想在另一个控制器中使用这些变量,你可以使用service/factory来共享diff控制器中的作用域变量。

如果这些函数与angular无关,你可以使用以下方法只需在页面中声明一个全局变量并将其值赋给modal

app.controller('MainCtrl', function($scope) {
  $scope.name = 'World';
  $scope.globalVariable = "something";
  globalVariable = $scope.globalVariable;
});
var globalVariable;
function externalFunction(){
  alert(globalVariable);
}

这是一美元

如果这些函数在另一个控制器中,你可以使用service或factory在控制器之间共享信息有关服务和工厂,请参阅此链接

AngularJS: Factory and Service?

最新更新