在哪里可以将 quarkus qute 与 Web 组件一起使用?我试图在带有参数 {user.username} 的 Qute 模板中使用用户卡自定义元素,例如
用户.html
<div>
...
<user-card
name="John Doe"
avatar="https://randomuser.me/api/portraits/men/1.jpg">
<div slot="email">{user.username}</div>
<div slot="phone">+41 76 234 44 55</div>
</user-card>
...
<script src="userCard.js"></script>
</div>
用户卡.js:
const template = document.createElement('template');
template.innerHTML = `
<style>
.user-card {
font-family: 'Arial', sans-serif;
background: #f4f4f4;
width: 500px;
display: grid;
grid-template-columns: 1fr 2fr;
grid-gap: 10px;
margin-bottom: 15px;
border-bottom: darkorchid 5px solid;
}
...
</style>
<div class="user-card">
<img />
<div>
<h3></h3>
<div class="info">
<p><slot name="email" /></p>
<p><slot name="phone" /></p>
</div>
<button id="toggle-info">Hide Info</button>
</div>
</div>
`;
class UserCard extends HTMLElement {
constructor() {
super();
this.showInfo = true;
this.attachShadow({mode: 'open'});
this.shadowRoot.appendChild(template.content.cloneNode(true));
this.shadowRoot.querySelector('h3').innerHTML = this.getAttribute('name');
this.shadowRoot.querySelector('img').src = this.getAttribute('avatar');
}
...
}
window.customElements.define('user-card', UserCard);
添加后将抛出以下异常:
2021-10-25 17:11:36,002 ERROR [io.qua.dep.dev.IsolatedDevModeMain] (main) Failed to start quarkus: java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[error]: Build step io.quarkus.qute.deployment.QuteProcessor#analyzeTemplates threw an exception: io.quarkus.qute.TemplateException: Parser error in template [shared/.DS_Store] on line 5: unexpected non-text buffer at the end of the template - unexpected state [CDATA]: }~��
componentsvSrnlong
@� @ @ @
E DSDB ` @ @ @
at io.quarkus.qute.Parser.parserError(Parser.java:503)
at io.quarkus.qute.Parser.parserError(Parser.java:492)
at io.quarkus.qute.Parser.parse(Parser.java:149)
at io.quarkus.qute.EngineImpl.load(EngineImpl.java:138)
at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)
at io.quarkus.qute.EngineImpl.getTemplate(EngineImpl.java:116)
at io.quarkus.qute.deployment.QuteProcessor.analyzeTemplates(QuteProcessor.java:459)
...
感谢您的帮助。亲切的问候。