Comments (4)
@tcmacdonald Thanks for the update.
Which slim.js version are you working with?
Currently there are no automated tests on safari (only in chrome). AFAIK Safari worked just fine as there is a custom detection for non-chrome browsers for a different behaviors with repeaters. I will try to use several versions and see what went wrong (or maybe Safari made an update in their rendering engine).
Meanwhile until this is resolved - as a workaround
If the options are static and no need for real-time binding you could try to do hybrid rendering:
Slim.tag('my-tag', class extends Slim {
get template() {
return `<select>${this.items.map(createItemOption)}</select>`
}
})
function createItemOption (item) {
return `<option value="${item.value}">${item.label}</option>`
}
if you need a "live update", you can execute render and force it to redraw and re-bind. This is more expansive in terms of CPU but as long as the list is decent (not thousands) the user should not feel anything.
from slim.js.
Thanks for the feedback @eavichay. I'm using version 3.2.3.
I played around with your suggested workaround. My array of options is being populated asynchronously so a redraw/rebind is really intriguing.
Whenever I invoke render()
with a really simple template, it works just fine but when I try to redraw something more complex, it throws the following exception...
this.render(this.template);
// Cannot read property 'chain' of undefined at Function.bind (Slim.js:325)
I assume I'm doing this wrong. Can you point me at any examples?
from slim.js.
Thanks for the feedback. Please try upgrade to 2.3.4 I just released a fix. Your description may point out another potential bug. If you can please provide your full class code (Are you using Slim.tag or decorators?).
from slim.js.
@tcmacdonald Sorry, fixed in 2.3.6
from slim.js.
Related Issues (20)
- package.json.module is pointing to an unexisting file HOT 1
- Storybook components HOT 2
- Typing for attributeChangedCallback lacks parameters HOT 1
- WEBP Support HOT 3
- "Uncaught TypeError" when using slim-js with @babel/preset-env HOT 4
- s:if Conditional rendering not working HOT 9
- [SUGGESTION] Provide a way to take outter css in the shadowDOM HOT 2
- Non-minified package distribution HOT 1
- if directive inside foreach directive HOT 3
- Idea for cleaner templates HOT 1
- Unresponsive counter component HOT 2
- Documentation Site - "Oops, this page does not exists" HOT 1
- How does the property directive work? HOT 11
- Query in template css class name does not work in object usage only in object creation HOT 1
- Issue with Webpack exports
- How to setup vscode with `/*html*/` and typings HOT 2
- Links broken on slimjs.org HOT 1
- What is the point of this library? HOT 1
- Is this repo still active? HOT 2
- How to use the CDN?
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 slim.js.