javascript - Angular js : Controller Function : variables : 'var' or controller propeties

标签 javascript angularjs

在 AngularJS 应用程序中,函数内部又位于 Controller 内部, 创建变量时最好的方法是什么。

  • 通常使用 var 关键字创建

        function getAnswer() {
           //Some code here
           var persistedDateValue = templateFactory.getAnswer(ctrl.item.ItemId);
          //Some other code here
          return persistedDateValue;
       }
    
  • 将其添加到 Controller 范围

        function getDateAnswer() {
        //Some code here
        ctrl.persistedDateValue = templateFactory.getAnswer(ctrl.item.ItemId);
        //Some other code here
        return ctrl.persistedDateValue;
    }
    

这里 ctrl 是 Controller ,就像 Directive controllerAs: 'ctrl', 中一样。

我的理解是,选项一更好,因为除了这个函数之外我们不需要这个变量。

请提出建议。

最佳答案

我同意 ZSnake 的回答,但是如果您确实需要在 View 上的 Controller 的其余部分中提供此变量,那么您将需要

.controler('ControllerName', function() {
   var _this = this;

   function getDateAnswer() {
     //Some code here
     _this.persistedDateValue = templateFactory.getAnswer(ctrl.item.ItemId);
   }

关于javascript - Angular js : Controller Function : variables : 'var' or controller propeties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33774917/

相关文章:

javascript - 通过比较数组从 DOM 中查找单词

javascript - 如何在React和ES6中的Click事件上实现两个或多个功能

angularjs - 在 angular.js 中以实际大小显示图像

angularjs - Angular : watch not working inside loop

angularjs - 有没有办法在 View 中重命名 Angular 变量?

javascript - 这段 dojo 代码有什么问题?

Javascript:我的 fbAsyncInit() 方法永远不会被调用

javascript - 函数中的 .submit() 工作了 2 次

css - 如何在 AngularJS ui-grid 的分组网格中显示列页脚?

javascript - 指令 - 从 View 中获取值 -scope "@"