我有一个需要发生三次的代码段。这是第一个:
if (!$scope.subId1) {
//$scope.subId1 = $scope.userEnteredSubId;
//cassetteRepository.subId1 = $scope.userEnteredSubId;
//$scope.userEnteredSubId = '';
//cassetteRepository.userEnteredSubId = '';
assignSubId($scope.subId1, cassetteRepository.subId1);
return;
}
接下来的两段代码是上面代码的重复,但是subId1变成了subId2。然后subId1变为subId3。
评论代码是我尝试在每个代码段中删除的代码,因为它是重复的代码。这就是我致电assignSubId()
的原因。但是,在方法运行后,调用者的值不会更新:
var assignSubId = function(scopeVariable, repositoryVariable) {
scopeVariable = $scope.userEnteredSubId;
repositoryVariable = $scope.userEnteredSubId;
$scope.userEnteredSubId = '';
cassetteRepository.userEnteredSubId = '';
}
有没有办法这样做,所以我可以让一个函数更新值?
答案 0 :(得分:2)
这应该有效
if (!$scope.subId1) {
assignSubId('subId1');
return;
}
并且
var assignSubId = function(subId) {
$scope[subId] = $scope.userEnteredSubId;
cassetteRepository[subId]= $scope.userEnteredSubId;
$scope.userEnteredSubId = '';
cassetteRepository.userEnteredSubId = '';
}