【问题标题】:Toggle button based on json response in angular 2基于角度 2 中的 json 响应的切换按钮
【发布时间】:2018-02-14 09:16:44
【问题描述】:

我正在尝试根据后端响应切换按钮。如果响应为“是”,则切换按钮应打开,如果响应为“否”,则切换按钮应关闭。 下面是我的html代码

          <div class="btn-group btn-toggle">
  <button class="btn btn-sm btn-default">ON</button>
  <button class="btn btn-sm btn-primary ">OFF</button>
</div>

下面是我的组件代码,我在其中调用了一个返回响应是或否的 get 服务。我在 ngOnit() 中调用该服务,因为我想在页面加载时检查响应是否为是/否。研究我开始知道我们可以使用 ngclass 来实现这一点,但我不知道该怎么做。

    ngOnInit() {
        this.service.getFlagStatus().toPromise().then((flagStatus => {
          this.flagStatus= flagStatus;

         //if(flagStatus == 'Yes'){
                  //toggle right

             // }else if (flagStatus == 'No') {
                //toggle left
             // }
        }));
      }

flagStatus 变量有响应(是/否)。 如果我做得对,请告诉我。

【问题讨论】:

标签: json angular2-template angular2-forms angular2-directives angular4-forms


【解决方案1】:

在组件的代码中设置正确的文本:

ngOnInit() {
    this.service.getFlagStatus().toPromise().then((flagStatus => {
      if(flagStatus == 'Yes'){
         this.text = 'ON';
      } else if (flagStatus == 'No') {
         this.text = 'OFF';
      }
    }));
  }

并将其传递到组件的模板中(Angular/Interpolation):

<div class="btn-group btn-toggle">
  <button class="btn btn-sm btn-primary">{{text}}</button>
</div>

你也可以玩课程 (Angular/Class binding):

<button 
    class="btn btn-sm" 
    [class.btn-default]="text == 'ON'" 
    [class.btn-primary]="text != 'ON'">{{text}}</button>

【讨论】:

  • 我们可以使用w3schools.com/howto/tryit.asp?filename=tryhow_css_switch 吗?如果响应为 Yes,如果没有向左滑动,ibutton 将向右滑动?
  • 这是一个完全没有 js 的纯 css 示例,您必须做好工作才能将它与您的 Angular 应用程序连接起来。但是,是的,这是可能的。
猜你喜欢
  • 2018-02-15
  • 1970-01-01
  • 2021-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-31
  • 2019-05-25
  • 1970-01-01
相关资源
最近更新 更多