Comments (3)
@yet-another-dev it is actually "cls" prop, https://github.com/spaceavocado/svelte-router#router-link-component, to pass the custom base class.
from svelte-router.
Ah, I see... Missed that in the docs.
Would it not be more intuitive/flexible to simply pass through all props (via {...$$props}
documented here)
$$props
references all props that are passed to a component – including ones that are not declared withexport
.
That would allow other attributes to pass through without having to manually handle them. It would also allow for not having to use a custom "class" attribute for passing through classes (which becomes unnecessarily verbose when using Pug, as it requires declaring the actual attribute rather than being able to use Put's dot syntax (e.g. RouterLink.navItem(to=")
).
Looks like adding {...$$props}
here should do the trick (though I haven't tested this yet):
svelte-router/component/link.svelte
Lines 89 to 94 in 8358e4b
The only reason I can see to potentially not want to do this is due to the note on the docs that states:
It is useful in rare cases, but not generally recommended, as it is difficult for Svelte to optimize.
The "as it is difficult for Svelte to optimize" is the part that makes me think this might be undesired for some reason. But without knowing more about the details of the optimizations that this makes difficult for Svelte it's hard to say.
from svelte-router.
@yet-another-dev Using the $$props is definitely an option but it the case of the Link component is rather more safe from the perspective of shared library to have a limited, and documented, set of properties - which we might extend as needed by community.
Also, the link component should be more/less just a base link component, for any project specific needs it would be better to create a custom component with own props, or use the custom component as a wrapper of the shipped Link component.
from svelte-router.
Related Issues (16)
- Transitions support HOT 6
- Store Router not updating HOT 2
- whats is the Status of this project HOT 4
- $router.push() and $route.replace() do not update the destination component route prop when the source and destination component are the same HOT 2
- Query parameters are not encoded
- Upon reloading, the route is broken, I am not able to find a solution to this. Is there any way to redirect the user to proper route on reload? Even the routes in the example(webpack) are broken if reloaded.? HOT 1
- Optional parameters in the URL cause crash in isWholeNumber
- Callbacks: "to, from" versus "from, to" HOT 3
- Prevent Navigation on select child elements HOT 10
- TypeError: de is undefined when selecting a link produced by <RouterLink> HOT 1
- Event Listener for URL Changes? HOT 13
- Svelte:Head doesn't update, when switch between pages HOT 5
- Support for Analytics like Matomo HOT 7
- RouterLink invalid route parameters HOT 5
- Home absolute path HOT 4
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 svelte-router.