AngularJS if else 语句 and/or switch
AngularJS If else statement and/or switch
我一直在修改 AngularJS 中的一些代码。我运行进了一个小问题。
我希望用户从 3 个选项中 select...(在下面查看我的 HTML for )
<label class="item item-input item-select">
<div class="input-label">
Frequentie
</div>
<select name="multipleSelect" id="multipleSelect" ng-model="data.multipleSelect">
<option value="eenmalig" >Eenmalig</option>
<option value="maandelijks">Maandelijks</option>
<option value="wekelijks">Wekelijks</option>
</select>
</label>
请求激活按钮的代码:
<div class="bar ">
<input type="button"
ng-click=addToNgRepeatMinus("uitgiften");startAgain()
value="uitgaven"
class="button button-dark"
id="uitgiftenbutton">
<input type="button"
ng-click=addToNgRepeatPlus("inkomsten");startAgain()
value="inkomsten"
class="button button-dark"
id="inkomstenbutton">
</div>
现在我的一般理解是,我可以让某些事情发生,这取决于他们会选择哪种说法 select。 (我相信你可以,但我不能 atm!)
首先,我尝试使用 if、if else 和 else。但是我发现 if else 语句在 AngularJS 中不可用。(如果是,请纠正我!)
所以很自然地,我尝试使用一个开关..不幸的是它不起作用!
$scope.addToNgRepeatMinus = function(data) {
if(data === "uitgiften"){
switch(multipleSelect) {
case "eenmalig":
$scope.uitgiften.push({name: $scope.formulier.name,value: $scope.formulier.value});
break;
case "maandelijks":
$scope.uitgiften.push({name: $scope.formulier.name,value: $scope.formulier.value});
break;
case "wekelijks":
$scope.uitgiften.push({name: $scope.formulier.name,value: 4*$scope.formulier.value});
break;
}
}
};
这段代码还与某些按钮交互。 (当按下这些按钮时,函数 addToNgRepeatMinus 被激活。)所以当我按下按钮时,它会检查传入数据是否等于 "uitgiften"。如果这样做,它应该知道 data.multipleSelect 等于 "eenmalig"、"wekelijks" 或 "maandelijks",然后做正确的事情。
有人可以帮我解决这个问题吗?我究竟做错了什么 ? :)
根据您显示的代码,您应该使用 switch($scope.data.multipleSelect)
如果这不起作用,您需要提供更多代码。
As your dropdown(select) is mapped to data.multipleSelect
ng-model so when you do select ng-model="data.multipleSelect"
, you are binding your select to $scope.data.multipleSelect
.
So, inside your controller, if you want to have an access your selected value, you use the following :
$scope.data.multipleSelect
$scope.addToNgRepeatMinus = function(data) {
if(data === "uitgiften"){
switch($scope.data.multipleSelect) {
case "eenmalig":
$scope.uitgiften.push({name: $scope.formulier.name,value: $scope.formulier.value});
break;
case "maandelijks":
$scope.uitgiften.push({name: $scope.formulier.name,value: $scope.formulier.value});
break;
case "wekelijks":
$scope.uitgiften.push({name: $scope.formulier.name,value: 4*$scope.formulier.value});
break;
}
}
};
我一直在修改 AngularJS 中的一些代码。我运行进了一个小问题。 我希望用户从 3 个选项中 select...(在下面查看我的 HTML for )
<label class="item item-input item-select">
<div class="input-label">
Frequentie
</div>
<select name="multipleSelect" id="multipleSelect" ng-model="data.multipleSelect">
<option value="eenmalig" >Eenmalig</option>
<option value="maandelijks">Maandelijks</option>
<option value="wekelijks">Wekelijks</option>
</select>
</label>
请求激活按钮的代码:
<div class="bar ">
<input type="button"
ng-click=addToNgRepeatMinus("uitgiften");startAgain()
value="uitgaven"
class="button button-dark"
id="uitgiftenbutton">
<input type="button"
ng-click=addToNgRepeatPlus("inkomsten");startAgain()
value="inkomsten"
class="button button-dark"
id="inkomstenbutton">
</div>
现在我的一般理解是,我可以让某些事情发生,这取决于他们会选择哪种说法 select。 (我相信你可以,但我不能 atm!)
首先,我尝试使用 if、if else 和 else。但是我发现 if else 语句在 AngularJS 中不可用。(如果是,请纠正我!)
所以很自然地,我尝试使用一个开关..不幸的是它不起作用!
$scope.addToNgRepeatMinus = function(data) {
if(data === "uitgiften"){
switch(multipleSelect) {
case "eenmalig":
$scope.uitgiften.push({name: $scope.formulier.name,value: $scope.formulier.value});
break;
case "maandelijks":
$scope.uitgiften.push({name: $scope.formulier.name,value: $scope.formulier.value});
break;
case "wekelijks":
$scope.uitgiften.push({name: $scope.formulier.name,value: 4*$scope.formulier.value});
break;
}
}
};
这段代码还与某些按钮交互。 (当按下这些按钮时,函数 addToNgRepeatMinus 被激活。)所以当我按下按钮时,它会检查传入数据是否等于 "uitgiften"。如果这样做,它应该知道 data.multipleSelect 等于 "eenmalig"、"wekelijks" 或 "maandelijks",然后做正确的事情。
有人可以帮我解决这个问题吗?我究竟做错了什么 ? :)
根据您显示的代码,您应该使用 switch($scope.data.multipleSelect)
如果这不起作用,您需要提供更多代码。
As your dropdown(select) is mapped to
data.multipleSelect
ng-model so when you doselect ng-model="data.multipleSelect"
, you are binding your select to$scope.data.multipleSelect
.So, inside your controller, if you want to have an access your selected value, you use the following :
$scope.data.multipleSelect
$scope.addToNgRepeatMinus = function(data) {
if(data === "uitgiften"){
switch($scope.data.multipleSelect) {
case "eenmalig":
$scope.uitgiften.push({name: $scope.formulier.name,value: $scope.formulier.value});
break;
case "maandelijks":
$scope.uitgiften.push({name: $scope.formulier.name,value: $scope.formulier.value});
break;
case "wekelijks":
$scope.uitgiften.push({name: $scope.formulier.name,value: 4*$scope.formulier.value});
break;
}
}
};