我是 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/