我正在研究使用Polymer构建一个简单的Web应用程序。我想将数字ID传递给自定义组件。我可以使用JSP通过将id添加到地图并将其传递给Viewable:
来实现此目的private Response buildUI(LinkedHashMap<String, String> map) {
return Response.ok(new Viewable("/MyApp", map)).build();
}
我宁愿不介绍JSP来处理单个值。
有没有更简单的方法来实现这个目标?
HTML代码正在进行中:
// MyApp.html
<html>
<head>
<title>iron-form demo</title>
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1, user-scalable=yes">
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<script src="../../webcomponentsjs/webcomponents-lite.js"></script>
<link rel="import" href="custom-form-element.html">
<link rel="import" href="custom-id-element.html">
</head>
<body unresolved>
<custom-form-element>
<template>
<form is="iron-form" method="get" action="/" id="basic">
<custom-id-element value="{id}"/>
<paper-button raised onclick="_submit(event)">Submit</paper-button>
</form>
<script>
function _submit(event) {
Polymer.dom(event).localTarget.parentElement.submit();
}
basic.addEventListener('iron-form-submit', function(event) {
this.querySelector('.output').innerHTML = JSON.stringify(event.detail);
});
</script>
</template>
</custom-form-element>
</body>
</html>
答案 0 :(得分:0)
事实证明,使用聚合物组件&#34; app-route&#34;解决方案很简单。我的应用程序是基于REST的,ID是一种资源,因此将它放在URI路径中是合乎逻辑的:
<app-route
route="{{route}}"
pattern="/:id"
data="{{routeData}}"
tail="{{subroute}}">
</app-route>
现在我可以将数据绑定到我需要它的id:
<iron-label>
route = {{routeData.id}}
</iron-label>