【问题标题】:Change image when button with click function is clicked angular单击具有单击功能的按钮时更改图像角度
【发布时间】:2019-01-01 06:46:29
【问题描述】:

我正在尝试在单击按钮时使用 Angular 更改图像。我已经在页面上有更改文本的功能,但我无法弄清楚如何更改图像。每个函数都有与之关联的不同图像。我在功能上尝试了 this.imgsrc 的一些变体,但似乎都不起作用。编辑:单击按钮时,我试图在两个不同的位置显示消息和图像。下面代码中的消息显示在顶部,我想显示的图像在右侧。

 <div>{{clickMessage}}</div>

 <button (click)="onclick1()" class="button">1</button>
 <button (click)="onclick2()" class="button">2</button>
 <button (click)="onclick3()" class="button">3</button>
 <button (click)="onclick4()" class="button">4</button>
 <button (click)="onclick5()"class="button">5</button>

组件代码

export class ChangeStratComponent implements OnInit {
clickMessage = '';
constructor() { }
ngOnInit() {
}
onclick1() {
this.clickMessage = 'click 1';
}
onclick2(){
this.clickMessage = 'Click 2';
}
onclick3() {
this.clickMessage = 'Click 3';
}
onclick4() {
this.clickMessage = 'Click 4';
}
onclick5() {
this.clickMessage = 'Click 5';
}

}

【问题讨论】:

  • 我应该澄清一下,我还希望显示文本以及图片

标签: angular image binding click


【解决方案1】:

这应该有助于https://stackblitz.com/edit/angular-scm9cy。 我使用“*ngFor”重构了一些可重复的代码。 组件:

    export class ChangeStratComponent {
      imageSrc = '';
      messageText = '';
    
      imageButtons = [
        {
          src: 'photo-src',
          name: 'image-1'
        },
        {
          src: 'photo-src',
          name: 'image-2'
        },
        {
          src: 'photo-src',
          name: 'image-3'
        }
      ]
    
      constructor() {
      }
    
      onClick(imageNameObject) {
        this.imageSrc = imageNameObject.src;
        this.messageText = imageNameObject.name;
      }
    }

HTML:

<img src="{{imageSrc}}">
<div>{{messageText}}</div> 
<button *ngFor="let imageButton of imageButtons; let i = index" 
         (click)="onClick(imageButton)" class="button">{{i}}</button>

【讨论】:

  • 您应该在答案中发布代码并包含链接,而不是仅仅发布链接
  • 所以这非常接近,有没有办法做到这一点,我仍然可以从我的点击中保留文本。我的目标是改变文字和图片。
  • 所以我不想让我变得含糊不清,我有当前标记的按钮。使用这些 Click 1、Click 2 等。消息在屏幕顶部发生变化,图像在右侧发生变化。因此,如果我想给我的按钮留下标签,我只是想关注你的评论,并在顶部显示消息并在侧面显示图像。我非常感谢您对此的帮助! :)
  • 感谢您的帮助!使用您的示例,我试图仅使用 app 文件夹中的 app.component.ts 和 app.component.html 来执行此操作。这可能吗?
猜你喜欢
  • 1970-01-01
  • 2012-01-21
  • 2013-11-05
  • 2014-06-12
  • 1970-01-01
  • 2017-01-21
  • 2011-12-14
  • 2018-04-14
相关资源
最近更新 更多