AngularJS - 明确从控制器返回值



我前几天遇到了代码块,我试图弄清楚为什么作者可以选择return init();而不是做

之类的事情
$scope.init = function() {...};

并使用ng-click或其他东西调用。这是代码:

myApp.controller("PlaylistCtrl", [
  "$scope", "tracksService", function($scope, tracksService) {
    var init;
    init = function() {
      $scope.addTrack("Jay-Z - 99 Problems");
      return $scope.tracks = $scope.getTracks();
    };
    $scope.getTracks = function() {
      return tracksService.tracks();
    };
    $scope.addTrack = function(trackTitle) {
      if (trackTitle !== "") {
        return tracksService.addTrack(trackTitle);
      }
    };
    return init();
  }
]);

因此,陈列的问题是:从控制器返回值的目的是什么?它利用哪些其他功能?一旦启动控制器,这会导致init()运行吗?如果不是,这里的特定目的是什么?任何帮助都将受到赞赏。谢谢。

没有具体的含义,而删除return不会更改任何内容。

如果您查看其他功能,那么即使在不需要的情况下,开发器似乎都有从每个功能返回的习惯。

这可能只是一种习惯。在各种情况下,它可以帮助开发器确保这是初始化块的末尾,将函数声明放在下面,例如在此小示例中:

// Initialization
var foo = 'bar';
doFoo();
doBar();
return; // <- end of declarative block
// Methods
function doFoo() { ... }
function doBar() { ... }

最新更新