java - 如何从 Angular 8 组件中的 index.html 获取输入或访问元素?

标签 java angular servlets

我是 Angular 技术的新手,并尝试使用以下代码在我的 java servlet Web 应用程序中嵌入 Angular 图表组件。

<iframe src="../angularchart/index.html" name="targetframe" allowTransparency="true" scrolling="yes" frameborder="0" width="100%" height="80%"></iframe>

这为我带来了网页中所需的 Angular 图表,但我想将数据从我的 java servlet 传递到 Angular 组件。我知道标准方法是使用 REST api,但就我而言,我的 servlet 中只有数据,并且可以将相同的数据传递到 index.html 页面。类似于下面的内容,

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>Angularchart</title>
  <script type="text/javascript">
    function chartInput()
    {
      var jsoninput = { key : value}  // dummy input populated by servlet
      return jsoninput
    }
  </script>
  <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
  <app-root></app-root>
</body>
</html>

我的问题是我可以从我的 Angular 组件访问定义的函数/元素index.html 吗?或者还有其他办法吗?提前致谢。如果您发现问题中有任何问题,请见谅。

最佳答案

选项 1: 使用 javascript postMessage

// where to send messages with postMessage
 var target_origin = 'http://www.your-domain.com';
 var form = document.getElementById('myChart');

 // button onclick handlers
 // display offsetHeight of iframe containing this document
 form.elements.button1.onclick = function() {
      parent.postMessage( {'chartClick': 'testMessage'}, target_origin );
 }

选项 2 您还可以在本地存储中设置数据并从 servlet 代码中获取该数据

希望对你有帮助

关于java - 如何从 Angular 8 组件中的 index.html 获取输入或访问元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59943762/

相关文章:

angular - 这种在 Angular 中创建 HTTP 服务的方法是否正确?

java - Web服务客户端类作品;但在 servlet 中使用时出现部署错误

java - 向上导航按钮在没有自定义工具栏的基本 Android 应用程序中不起作用

java - 帮助 Java Swing HTML 解析

javascript - 应该如何声明一个空的时间戳变量,以便成为一个全局变量,以便我们稍后可以给它一个值?

java - 与常规 Java 类相比,JVM 如何执行 servlet?

java - tomcat/servlet 中的并发

java - Guice @annotations 方法类似于 Guice MapBinder 方法

java - 在根据值对 map 进行排序时,一些值丢失了。是什么导致了这种奇怪的行为?

angular - 使用 Angular 创建 SPA 网站是否会使 ASP.NET Core View 变得多余?