Angular-将函数的值传递给mailto

时间:2019-04-04 21:14:53

标签: angular

我不了解如何将值从函数传递到链接内的mailto。

组件

  email() {
    for(let i = 0; i < this.clientInfo().length; i++) {
      this.uEmail = this.clientInfo()[i].email + ',';
      this.uEmails += this.uEmail;
    }
  }

HTML

<a href="mailto:{{this.uEmails}}">Email</a>

我如何调用email()函数以获取uEmail的值,而不必使用诸如单击按钮之类的东西来调用email()函数?

2 个答案:

答案 0 :(得分:1)

有几种方法可以完成此操作。这是下面的一个。问题中要注意的一件事是,您无需使用this来访问HTML中的组件属性,而只需要在JavaScript中完成。

[href]="'mailto:' + uEmails"

答案 1 :(得分:0)

您可以在ngOnInit函数中调用您的函数,如下所示:

TS文件

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent implements OnInit {
  name = 'Angular';
  uEmail;
  uEmails;
  clientInfo() {
    return [
      {
        email: 'test@test.com'
      },
      {
        email: 'test1@test.com'
      }
    ]
  }
  email() {
    this.uEmails = this.clientInfo().map((info) => info.email).join(',')
  }

  ngOnInit() {
    this.email();
  }
}

HTML文件

<a href="mailto:{{this.uEmails}}">Email</a>

检查此工作stackblitz