AngularJS中如何拼接API输入参数?
实现指定格式的消息拼接
这事儿很容易搞定!你只需要把enquiryDetails里的对应字段按你要的格式拼接起来就行,给你两种实用的实现方式:
方式1:传统字符串拼接(兼容所有AngularJS版本)
如果你的项目还在使用较老的JavaScript语法,用这种方式最稳妥:
// 基于你已有的enquiryDetails对象生成格式化消息 var formattedMessage = 'Message:\nSubject: "' + enquiryDetails.subject + '"\nContact for: "' + enquiryDetails.contact + '"\n"' + enquiryDetails.message + '"';
这里的\n是换行符,用来让每一行内容自动换行,完全匹配你想要的格式。
方式2:ES6模板字符串(更简洁易读)
如果你的项目支持ES6+语法,模板字符串会让代码更清爽,不需要反复拼接引号和加号:
var formattedMessage = `Message: Subject: "${enquiryDetails.subject}" Contact for: "${enquiryDetails.contact}" "${enquiryDetails.message}"`;
模板字符串支持直接换行写内容,视觉上就和你要的最终格式一致,非常直观。
额外优化:处理空字段
如果担心用户没填写某些字段导致显示空白,可以给字段加个默认值,提升体验:
var formattedMessage = `Message: Subject: "${enquiryDetails.subject || '未填写主题'}" Contact for: "${enquiryDetails.contact || '未指定联系人'}" "${enquiryDetails.message || '未填写消息内容'}"`;
在视图中显示格式化后的消息
如果要把这个格式化后的消息展示在页面上,有两种常用方式:
- 用
<pre>标签保留原始换行格式:<pre>{{ formattedMessage }}</pre> - 把换行符转换成
<br>标签,适配普通块级元素:<div ng-bind-html="formattedMessage.replace(/\n/g, '<br>')"></div>
这样就能完美生成你想要的消息格式啦!
内容的提问来源于stack exchange,提问作者C B Suman
相关产品推荐
相关产品推荐

