为什么此switch语句在Angular上不起作用?

时间:2020-01-20 18:29:02

标签: angular switch-statement

我有一个这样的switch语句:

  switch (selectedValue1 ){
    case selectedValue1 ==  'قطع از بالا':
      console.log(selectedValue1);
      break;

但是我看不到日志消息,这说明该开关不起作用!但是我知道并且可以在日志消息中看到selectedValue1,并且可以正常工作!

所选值来自以下HTML代码:

<div class="form-popup playerOne" id="myForm_if" dir="rtl">
    <form action="/action_page.php" class="form-container" >  
      <label for="funcs"><b>انتخاب شرط</b></label>

      <mat-select placeholder="انتخاب شرط " [(ngModel)] = "selectedValue1" name="condition" >
          <mat-option *ngFor="let ifin of ifs" [value]="ifin">
            {{ ifin }}
          </mat-option>
      </mat-select>
      <label for="funcs"><b>انتخاب نتیجه</b></label>

      <mat-select placeholder="انتخاب نتیجه" [(ngModel)] = "selectedValue2" name="result" >
          <mat-option *ngFor="let result of results" [value]="result">
            {{ result }}
          </mat-option>
      </mat-select>

        <button type="submit" class="btn " style="margin-top: 200px;" (click)="setCond(selectedValue1, selectedValue2)">اعمال</button>
        <button type="button" class="btn cancel" onclick="closeForm()">انصراف</button>
    </form>
</div>

并且:

export const Ifs = ['انتخاب شرط', 'قطع از بالا', 'قطع از پایین'];
export const Results = ['انتخاب نتیجه', 'سیگنال خرید', 'سیگنال فروش', 'ارسال نتیجه' ];

1 个答案:

答案 0 :(得分:1)

切换条件自动比较值,==中不需要

switch (selectedValue1 ){
    case 'قطع از بالا':
      console.log(selectedValue1);
      break;

case中进行字符串比较时,您会收到以下代码段,因为selectedValue1 != true

不起作用
switch (selectedValue1 ){
    case true: // or false
       console.log(selectedValue1);
       break;