当前位置: 首页 > 知识库问答 >
问题:

有个需求要求后端返回html,是否可以绑定事件?

曾涵育
2023-10-22

现在有个需求要求我用nestjs写一个接口,处理本地一个json文件处理成一个html页面返回给前端
,我想问比如返回的格式是这样,"text":'<style>.helloword{width:100px;}</style> <div class="helloword" (click)="handleclick()">你好</div>'
这样返回去的样式和点击事件是否能生效。如果不行该如何做?大佬们

共有3个答案

徐昕
2023-10-22

确实 我第一时间想到的跟楼上一样,将事件绑在父节点上,通过event.target来判断是否为目标元素的点击

邵星河
2023-10-22
  1. 不能生效。
  2. 你可以在节点插入 DOM 后,手动绑定
  3. 如果你的事件处理函数都能暴露到全局,把 (click) 改成 onclick 也可以
  4. 不过最推荐的是,不要直接插入 HTML,会很大的 XSS 风险。如果真要插入,可以把事件绑在父节点上,利用冒泡处理。
羊舌昆杰
2023-10-22

首先,对于样式和事件是否可以生效的问题,答案是肯定的。只要返回的 HTML 包含正确的 CSS 类和正确的 Angular 事件绑定,样式和事件都应该可以生效。

然而,你需要确保以下几点:

  1. 返回的 HTML 必须是一个有效的 HTML 结构。例如,你需要在 <div> 标签中包含 <style>(click) 属性,且它们需要放在 <div> 的开始和结束标签之间。
  2. 返回的样式必须与 HTML 元素匹配。例如,如果你在 <style> 中定义了 .helloworld,那么你需要在返回的 HTML 中有一个类名为 helloworld 的元素。
  3. 对于 Angular 事件绑定,你需要确保 handleclick() 方法已经在你的 Angular 组件中定义了。

如果以上条件都满足,那么你应该可以在 NestJS 中返回带有样式和事件的 HTML。

如果你遇到任何具体的问题或错误,可以提供更多的信息,我会很乐意帮助你解决。

 类似资料:
  • 问题内容: 我正在构建一个使用PyQt的小型应用程序,所以最好在setup.py中声明该依赖关系。 但是,根据此博客(在pyqt setuptools上首次在Google上投放广告)表示,此操作无法完成,此处的最后一段也不会尝试执行此操作。 有想法吗?也许我应该切换到PyPi上的PySide? 更新: 显而易见的给我: 问题答案: 虽然最初接受的答案是正确的,但是Python Wheels 现在提

  • 问题内容: 那里的许多示例都主张对数据库事务进行显式回滚,具体方法如下: 但是,我倾向于这样做: 当发生异常时,我只是依靠未提交事务的隐式回滚。 依靠这种隐式行为有什么问题吗?有人有令人信服的理由为什么我不应该这样做吗? 问题答案: 不,它不是特别需要的,但是我可以想到两个可能是个好主意的原因: 明晰 有人可能会争辩说使用可以更清楚地表明在什么情况下不会进行交易。 释放锁 在处理事务时,重要的是要

  • 问题内容: 我有使用$ on绑定事件的指令,在销毁作用域时是否需要删除该绑定,或者它是自动完成的?还需要致电$ element.off吗? 问题答案: *由于视图中的端到端绑定,当 *监听器 失去其外观时, 监听器将被自动销毁/清理 。注意,绑定不会发生这种情况。您还可以查看AngularJS的$ scope文档 。 用几句话回答: 将被自动销毁。 您需要手动销毁。 文档说明: 范围销毁-当不再需

  • 我试图找到以下问题的答案。 在什么情况下浏览器会存储多个cookie? 它是正确的,还是技术上有效的功能? 在RFC/安全留档中,通过数组,或尝试的数组存在,或者在技术上有效? 我附上了一个示例屏幕截图,展示了我看到的多个,以及各种cookie路径和到期时间(多租户和各种表单路径)。 相关的: https://github.com/django/django/blob/5a68f024987e6d

  • 用的vite运行vue,后端我开了环境软件,wampserver 是不是因为后端的PHP文件没有被解析???所以返回的是php的源代码???我先用的axios请求,结果是这样,后来换了XMLHttp请求还是这样,刚学vue3,卡在这了,百度了好久没找到答案,求大佬解答

  • 问题内容: Node.js是否可以一一处理客户端请求?我有一个项目,正在使用Node.js作为服务器端代理。根据我的理解,如果您使用回调进行响应,那么Node.js应该立即响应新请求,但是实际上Node.js直到完成上一个回调后才会响应新请求。这是正确的操作还是代码使用有误?请帮我。非常感谢你。以下是用于将请求重新发送到后端服务的代码。 更新: 客户端请求来自Angular 。在一页上,同时有多个