Latest

Wednesday, July 5, 2017

Vue components with partial reusability

Asked by: user3089840


I'm working on a large app with legacy code. I've run into this issue twice now and am realizing there must be a better solution than what I've done to solve it. The issue is as follows.

There are 3 separate pages where I need to add very similar Vue functionality. However, these pages have significantly different HTML/Blade templates. Therefore, it's like I have to pass in separate HTML/Blade templates to the component in addition to component props.

I can kind of accomplish this using Vue inline-templates, which takes care of the significantly different HTML/Blade template problem.

However, the remaining issue is that I have 3 .js Vue components, one for each page. This would be fine, except the Vue code in each file is very similar.

It's also possible that at some point I will need to add more unique Vue code to each component, and would like to keep that possibility open.

What I would like to do is find a way to reuse the Vue code that is very similar in each component.

I have tried thinking of a way to nest the same child component within each of these 3 separate components, but I don't see how that would be possible due to the differences in the HTML/Blade in each file.

Any suggestions would be most appreciated, as I feel like I'm duplicating too much Vue code!



Source

No comments:

Post a Comment

Adbox