Comments (6)
Ah, you should wrap the text inside a binding function. Specifically, change:
p(`Countdown: ${timeout.val}s`)
to
p(() => `Countdown: ${timeout.val}s`)
from van.
For a state-derived child element, you need to specify a binding function to bind the element with the underlying states. You can refer to this section for more details: https://vanjs.org/tutorial#state-derived-child.
from van.
You don't need to wrap the setInterval
with van.derive
. Just simply having the code below will be enough:
const interval = setInterval(() => {
if (timeout.val === 0) {
clearInterval(interval);
}
--timeout.val;
console.log(timeout.val)
}, 1000);
from van.
I tried this, but the timer keeps getting duplicated and started resulting in multiple countdowns in the console.
from van.
This is the code I'm working with.
The thing is the counter in the text, never changes from the initial 5 also, which is weird.
from van.
Wow. That actually fixed both issues. Could u please explain why this is?
from van.
Related Issues (20)
- TS2345 error when adding a DocumentFragment as a child node HOT 2
- Context-API support HOT 22
- Proxy error using vanX.reactive() with lists of nested objects HOT 9
- TS Typings improvement HOT 4
- expose isProps HOT 2
- Adding TypeScript support VanCone HOT 1
- Deeply nested state objects and arrays HOT 1
- Include comparison to Preact HOT 1
- Refactor Van State to remove prototype to do reactive updates HOT 1
- Introduce some way how to extend state with custom API? HOT 1
- How to get access to DOM elements (like refs in React) HOT 2
- VanJS Router? HOT 5
- Conditional root rendering HOT 6
- Reactivity is broken when the context is quickly switched HOT 5
- It doesn't work. Did I do something wrong? HOT 9
- Update Van JSX HOT 5
- Abnormal behavior under the input box. HOT 4
- vanX.list also looping empty values HOT 2
- Add a callback with just created element HOT 2
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 van.