angularJS выражения $ scope.selectedTab = $ scope.setTab (1)?1: 2; - PullRequest
0 голосов
/ 25 июня 2018

почему я не могу использовать это выражение?

$scope.selectedTab = $scope.setTab(1) ? 1 : 2 ;

функция setTab:

$scope.setTab = function(tabNum) { 
    $scope.selectedTab = tabNum; 
    return $scope.selectedTab; 
}

Сообщение об ошибке:

TypeError: $ scope.setTab не является функцией

1 Ответ

0 голосов
/ 25 июня 2018

Вы не можете использовать объявленную функцию до ее объявления.Это произойдет, когда функция будет определена в более поздней части кода.Когда вызывается функция $ scope.setTab, она не будет определена.

Функция должна быть определена до фактического вызова.

Fiddle

angular.module("app", []).controller("ctrl", ctrl);

function ctrl($scope){
  $scope.setTab = function(tabNum) { 
      $scope.selectedTab = tabNum; 
      return $scope.selectedTab; 
  }

  $scope.selectedTab = $scope.setTab(1) ? 1 : 2 ;
    console.log($scope.selectedTab);

}

https://jsfiddle.net/gladson1976/n0r1v29e/6/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...