Comments (4)
Please look at this section of the documentation: https://hybrids.js.org/#/component-model/templates?id=limitations
This is a platform (basically some of the browser implementation) limitation, that template engine cannot use it's internal way to mark place where the expression should be putted.
In short, you cannot use:
html`<th>BBB_${it}</th>`
You must write:
html`<th>${`BBB_${it}`}</th>`
The difference here is that whole content of the <th>
element is an expression, which contains a string value.
BTW, to avoid making a set/get property with default value of an array (in v9 it will be possible by value
option) you may try this pattern:
items: undefined,
render: ({ items = [1,2] }) => html`...`,
from hybrids.
I have changed my codes as you mentioned limitation section, but, still have a confused problem:
<table>
<thead>
<tr>
${html`<th>AAA</th>`}
${items && items.map(it=>html`
<th>${`BBB_${it}`}</th>
`)}
</tr>
</thead>
<tbody>
<tr>
${html`<td>aaa</td>`}
${items.map(it=>html`
<td>${`bbb_${it}`}</td>
`)}
</tr>
</tbody>
</table>
The `AAA' column is rendered fine, but 'td' parts only show the 'aaa', the other 'td' are missing.
I've removed the whitespaces between tr tag, just not work, pls help.
from hybrids.
I got it. the problem this the tbody still have tr tag not included in a html`` function, so change to following will work:
<tbody>
${html`
<tr>
${html`<td>aaa</td>`}
${items.map(it=>html`
<td>${`bbb_${it}`}</td>
`)}
</tr>
`}
</tbody>
Everything works fine now, except a little verbose. 😁
from hybrids.
You can avoid one of the ${}
:
html`
<tr>
${html`
<td>aaa</td>
${items.map(it=>html`<td>${`bbb_${it}`}</td>`)}
`}
</tr>
`
I wish it could be simpler, but nowadays I strongly suggest using CSS Grid over tables - they have so many limitations.
Feel free to re-open if you have other issues with the subject.
from hybrids.
Related Issues (20)
- Small Type Inferencing Issue with Property<E, V> HOT 6
- Cannot pass an object to the API via the "list" method HOT 7
- version 8.2.17 backwards compatibility is broken! HOT 9
- Expand the functionality of drafts
- sync() with nested models is broken HOT 4
- Allow storing an object in a component property HOT 4
- Add partial loading of model data HOT 3
- Why do you remove the lastValue? HOT 2
- The store logs a lot of errors HOT 4
- Convert a Whole Component to Web Component HOT 8
- Scoped CSS HOT 6
- lagging update glitch HOT 2
- Component properties cannot be setted until they are observed HOT 2
- `store.set()` is very slow HOT 5
- Store loads items data when iterating the list of items HOT 2
- store.record(store.record('')) bug HOT 3
- Protect Models from incorrect use HOT 9
- Passing a transform function to 'reflect:' in a property descriptor has no effect without also specifying an observer HOT 2
- Add nullable model values HOT 3
- 'Try to assert value of the '<property_name>' inside of the value function' error while passing children their properties HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hybrids.