我希望使用Angular 6通过服务将电子邮件作为字符串发送到API。
我想要一个单独的HTML文件,其中包含此电子邮件模板的代码。然后,我想将此HTML模板传递给服务,然后将其发布到API。 (请注意-我不想将电子邮件模板构建为字符串。我想将其构建为HTML,然后将其转换为字符串)。
所以说我有以下文件:
email-template.html-保存html电子邮件模板代码
email.service.ts-以字符串形式发布电子邮件模板代码
我将如何实施?
这是我的服务
constructor(private httpClient: HttpClient) { }
send(recipient, email) { <=== need that 'email' perameter to be the email template.html as string
const object: Email = {
FromAddress: environment.noreplyEmailAddress,
ToAddress: recipient,
MessageBodyText: null,
MessageBodyHtml: email.template,
Subject: email.subject
};
return this.httpClient.post(`${this.url}/api/storeemail`, object, httpOptions);
}
答案 0 :(得分:1)
您可以简单地将其导入组件中。这是一个working solution,当您单击Click me
按钮时,它将html内容记录到控制台中。
这就是您的操作方式。首先在名为email-template.html
的文件中创建一个模板,然后将其放置在某个位置(我将其放置在同一文件夹中)并按以下方式加载它。
import
返回一个Promise
。您可以在then
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: [ './app.component.css' ]
})
export class AppComponent {
name = 'Angular';
send() {
import('./email-template.html').then(res => {
console.log(res.default);
});
}
}