angular - 如何绑定(bind)到 '*ngSwitchCase'

标签 angular ionic-framework

我想在从服务器检索数据时动态显示数据......所以我需要绑定(bind)到*ngSwitchCase

我的代码

<div class="main-content">
    <div class="segments-container" padding>
      <ion-segment [(ngModel)]="thisYearString" class="segments">
        <ion-segment-button value="{{thisYearNumber}}">
          {{thisYearNumber}}
        </ion-segment-button>
        <ion-segment-button value="{{lastYearNumber}}">
          {{lastYearNumber}}
        </ion-segment-button>
      </ion-segment>
    </div>
    <div [ngSwitch]="thisYearString">
      <ion-card *ngSwitchCase="'2017'" class="details-segment">
        <ion-card-header>2017</ion-card-header>
        <!--Some Other Code-->
      </ion-card>
      <ion-card *ngSwitchCase="'2016'" class="details-segment">
        <ion-card-header>2016</ion-card-header>
        <!--Some Other Code-->
      </ion-card>
    </div>
  </div>

我想做的是这样的:

*ngSwitchCase="{{thisYearString}}"

PS:我使用字符串和数字,因为 ngSwitchCase 只接受字符串,有什么想法可以克服这样做吗?

像我一样动态增加值(value)是一个好习惯吗value="{{thisYearNumber}}"

最佳答案

结构指令已经将您置于正确的上下文中来访问组件变量。

如果你这样做:

*ngSwitchCase="thisYearString"

将从 thisYearString 获取值在您的组件中为开关盒定义。另外,我已经能够打开非字符串(毕竟它是Javascript),所以我猜它只是在进行检查之前强制它。

您的示例中需要引号的原因:

<ion-card *ngSwitchCase="'2017'" class="details-segment">

围绕2017是因为否则它会尝试将其视为变量,并且会失败。

关于angular - 如何绑定(bind)到 '*ngSwitchCase',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43973417/

相关文章:

javascript - 如何使用 html select 处理响应式(Reactive)表单?

javascript - 如何在 Angular 4 中使用 *ngFor 创建每行 2 列的表格

javascript - Angular ag-grid : "Could not find component class XXX, did you forget to configure this component" 出错

ionic-framework - ionic 3 ionic 列表水平 - 想要显示一个列表 ionic 列表水平

angular - 类型错误 : You provided 'undefined' where a stream was expected

css - Unicode 表情符号在浏览器中不可见(显示为正方形)

javascript - 识别和打印对象中的对象 - Angular

android-studio - ionic 电容器应用程序给了我很多错误

css - 更改 Ionic 输入文本区域中的字体大小

ionic-framework - 如何在 ionic 中调整卡片的长度?