为什么我不能使用这个表达式?
$scope.selectedTab = $scope.setTab(1) ? 1 : 2 ;
setTab函数:
$scope.setTab = function(tabNum) {
$scope.selectedTab = tabNum;
return $scope.selectedTab;
}
错误消息:
TypeError:$ scope.setTab不是函数
答案 0 :(得分:0)
在声明函数之前不能使用它。当函数在代码的后面部分中定义时,就会发生这种情况。 调用$ scope.setTab函数时,将不会定义该函数。
该函数必须在实际调用之前定义。
提琴
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);
}