angularJS $范围变量
我的$ scope angularJS中有两种类型的变量。
1)。 $ scope.name,$ scope.title - 这些绑定到两个输入框(这些绑定到UI html代码)。
2)。 $ scope.sum,$ scope.difference - 这些变量在JS代码内部使用,我需要它们作为全局变量来访问不同的函数。
问题: - $ scope。$ watch函数将运行第二种情况的变量,这些类型的变量是否会对我的页面性能产生不利影响。
这取决于你的表情。 但是,永远不要对昂贵的表达式进行监视,因为angularjs会多次评估,而且这必然会对应用程序性能产生非常负面的影响。
一般而言,当出现性能问题时,有必要优化您的应用程序。 在大多数情况下,一切都很顺利,而且不必要地使应用程序复杂化。
另外,您可以使用单向数据绑定 ,其中表达式以::
开头。 表达式将在第一次摘要之后停止重新计算,一旦它们稳定。
$范围内的变量可以通过控制器访问(在diff函数中)。 如果你想在另一个控制器中使用这些变量,你可以使用service / factory在diff控制器中共享范围变量。
如果这些函数与角度无关,你可以使用下面的方法:在页面中声明一个全局变量,并赋值给该模态
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
$scope.globalVariable = "something";
globalVariable = $scope.globalVariable;
});
var globalVariable;
function externalFunction(){
alert(globalVariable);
}
这里是Plunker
如果这些功能位于另一个控制器内部,则可以使用服务或工厂在控制器之间共享信息。对于服务和工厂,请参阅此链接
AngularJS:工厂和服务?
链接地址: http://www.djcxy.com/p/77991.html上一篇: angularJS $scope variables
下一篇: Dependency Injection with Exact Example using Angular Javascript