【发布时间】:2015-08-06 04:25:36
【问题描述】:
编辑:这篇文章Is there a better way to do optional function parameters in Javascript? 提供了这个问题的答案。
这是我的控制器:
.controller("NavTabController", ['TabService', function(TabService) {
var self = this;
self.switchTab = function(currentTab, dropDown) {
TabService.switchTab(currentTab, dropDown);
}
}])
这是工厂:
.factory("TabService", [function() {
var tab = "home";
return {
switchTab: function(currentTab, dropDown) {
tab = currentTab;
}
}
}])
在我的 HTML 中,我有这个:
<a href="#" ng-click="ctrl.switchTab('home')">Home</a>
<a href="#" ng-click="ctrl.switchTab('home', 'middle')">Optional</a>
如您所见,我希望 dropDown 是可选的,因为有时它不提供。
话虽如此,为 AngularJS 函数添加可选参数的推荐方法是什么?
【问题讨论】:
-
你打错字了~
dropDownvsdropDrown -
@Phil 你是对的,这就是导致问题的原因。事实证明,如果没有提供参数,AngularJS 会自动使参数“未定义”。当我不提供参数时,AngularJS 不会抛出错误。我假设推荐的方法是执行“if (typeof optionalArg === 'undefined') { optionalArg = 'default'; }”,因为这是其他 SO 问题的答案。所以我会把它标记为重复。
标签: javascript angularjs optional-parameters