javascript - 可以使用 $scope.functionName 还是应该使用 var functionName = function() ?

标签 javascript angularjs

我一直在开发 Angular 应用程序,并且在我的 Controller 中我一直使用 $scope 来创建我的函数,例如:

$scope.getJobs = function(){
 //code here
};

我应该使用

var getJobs = function(){
// code here
};

相反?

我仍在学习 Javascript 和 Angular 1.x,并且想了解最佳实践!

最佳答案

$scope.getJobs() 现在在 $scope 对象中可用,并且可供您的 View 访问。

$scope.getJobs = function(){
 //code here
};

这是一个私有(private)函数,您可以在 Controller 中使用它,但对您的 View 不可用。

var getJobs = function(){
// code here
};

最好的情况是,如果您想在 View 中使用/调用该函数,请将函数/变量附加到 $scope,否则只需使用函数声明或表达式的普通旧方式。

注意:Angular 会触发一个摘要周期来检查变量。修改您在 View 中未使用的变量/函数可能会导致额外的摘要周期,从而影响您的性能。

关于javascript - 可以使用 $scope.functionName 还是应该使用 var functionName = function() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41231502/

相关文章:

angularjs - 如何在 $compile 后删除由 Angular 指令创建的观察者

javascript - 名称年龄和上传文件未显示在数据库中

javascript - 移动 iframe youtube 查看尝试下载但不显示视频

javascript - 如何获取 json 对象中的属性值

javascript - localStorage 存储 HTMLTextAreaElement 而不是值

javascript - 无法让 ADAL 拦截器在 Angular 中工作

html - 单击 md-menu、mdDialog 按钮时顶部导航向上移动

javascript - 从字符串序列中获取 n 对

javascript - $event 未在文本输入的 ng-change 中定义

node.js - 如何补救 "Error: Cannot find module ' child-process-close'"?